Remove demo

This commit is contained in:
Steve Myers 2021-12-21 14:24:21 -08:00
parent 6c1de427ff
commit 2a658d2ff6
No known key found for this signature in database
GPG Key ID: 8105A46B22C2D051
3 changed files with 1 additions and 127 deletions

View File

@ -1,36 +0,0 @@
plugins {
id 'org.jetbrains.kotlin.jvm'
id 'application'
}
group = 'org.bitcoindevkit.bdk'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.jetbrains.kotlin:kotlin-test'
implementation project(':jvm')
}
test {
useJUnit()
}
compileKotlin {
kotlinOptions.jvmTarget = '1.8'
}
compileTestKotlin {
kotlinOptions.jvmTarget = '1.8'
}
application {
mainClass.set('MainKt')
}
run {
standardInput = System.in
}

View File

@ -1,90 +0,0 @@
import java.util.Optional
import kotlin.ExperimentalUnsignedTypes
import org.bitcoindevkit.*
class LogProgress : BdkProgress {
override fun update(progress: Float, message: String?) {
println("Syncing..")
}
}
class NullProgress : BdkProgress {
override fun update(progress: Float, message: String?) {}
}
fun getTransaction(wallet: OnlineWalletInterface, transactionId: String): Optional<Transaction> {
wallet.sync(NullProgress(), null)
return wallet.getTransactions()
.stream()
.filter({
when (it) {
is Transaction.Confirmed -> it.details.txid.equals(transactionId)
is Transaction.Unconfirmed -> it.details.txid.equals(transactionId)
}
})
.findFirst()
}
@ExperimentalUnsignedTypes
val unconfirmedFirstThenByTimestampDescending =
Comparator<Transaction> { a, b ->
when {
(a is Transaction.Confirmed && b is Transaction.Confirmed) -> {
val comparison = b.confirmation.timestamp.compareTo(a.confirmation.timestamp)
when {
comparison == 0 -> b.details.txid.compareTo(a.details.txid)
else -> comparison
}
}
(a is Transaction.Confirmed && b is Transaction.Unconfirmed) -> 1
(a is Transaction.Unconfirmed && b is Transaction.Confirmed) -> -1
else -> 0
}
}
@ExperimentalUnsignedTypes
fun main(args: Array<String>) {
val network = Network.TESTNET
val mnemonicType = MnemonicType.WORDS12
val password: String? = null
println("Generating key...")
val extendedKey = generateExtendedKey(network, mnemonicType, password)
println("generated key: $extendedKey")
println("Attempting restore extended key...")
val restoredKey = restoreExtendedKey(network, extendedKey.mnemonic, password)
println("restored key: $restoredKey")
println("Configuring an in-memory wallet on electrum..")
val descriptor = "wpkh(tprv8ZgxMBicQKsPeSitUfdxhsVaf4BXAASVAbHypn2jnPcjmQZvqZYkeqx7EHQTWvdubTSDa5ben7zHC7sUsx4d8tbTvWdUtHzR8uhHg2CW7MT/*)"
val amount = 1000uL
val recipient = "tb1ql7w62elx9ucw4pj5lgw4l028hmuw80sndtntxt"
val db = DatabaseConfig.Memory("")
val client =
BlockchainConfig.Electrum(
ElectrumConfig("ssl://electrum.blockstream.info:60002", null, 5u, null, 10u)
)
val wallet = OnlineWallet(descriptor, null, network, db, client)
wallet.sync(LogProgress(), null)
println("Initial wallet balance: ${wallet.getBalance()}")
println("Please send $amount satoshis to address: ${wallet.getNewAddress()}")
readLine()
wallet.sync(LogProgress(), null)
println("New wallet balance: ${wallet.getBalance()}")
println("Press Enter to return funds")
readLine()
println("Creating a PSBT with recipient $recipient and amount $amount satoshis...")
val psbt = PartiallySignedBitcoinTransaction(wallet, recipient, amount, null)
println("Signing the transaction...")
wallet.sign(psbt)
println("Broadcasting the signed transaction...")
val transaction = wallet.broadcast(psbt)
println("Broadcasted transaction $transaction")
val take = 5
println("Listing latest $take transactions...")
wallet
.getTransactions()
.sortedWith(unconfirmedFirstThenByTimestampDescending)
.take(take)
.forEach { println(it) }
println("Final wallet balance: ${wallet.getBalance()}")
}

View File

@ -1,4 +1,4 @@
rootProject.name = 'bdk-kotlin'
include ':jvm',':demo',':android'
include ':jvm',':android'