Upgrade library to bdk-ffi 0.6.0
This commit is contained in:
parent
cc730b00b2
commit
3ae2f48846
@ -17,7 +17,7 @@ pip3 install --requirement requirements.txt
|
||||
bash ./generate.sh
|
||||
python3 setup.py --verbose bdist_wheel
|
||||
pip3 install ./dist/bdkpython-<yourversion>-py3-none-any.whl
|
||||
python3 ./tests/test_bdk.py
|
||||
python -m unittest --verbose tests/test_bdk.py
|
||||
```
|
||||
<br/>
|
||||
|
||||
|
@ -7,4 +7,5 @@ PY_SRC="${SCRIPT_DIR}/src/bdkpython/"
|
||||
|
||||
echo "Generating bdk.py..."
|
||||
# GENERATE_PYTHON_BINDINGS_OUT="$PY_SRC" GENERATE_PYTHON_BINDINGS_FIXUP_LIB_PATH=bdkffi cargo run --manifest-path ./bdk-ffi/Cargo.toml --release --bin generate --features generate-python
|
||||
BDKFFI_BINDGEN_PYTHON_FIXUP_PATH=bdkffi cargo run --manifest-path ./bdk-ffi/Cargo.toml --package bdk-ffi-bindgen -- --language python --udl-file ./bdk-ffi/src/bdk.udl --out-dir ./src/bdkpython/
|
||||
# BDKFFI_BINDGEN_PYTHON_FIXUP_PATH=bdkffi cargo run --manifest-path ./bdk-ffi/Cargo.toml --package bdk-ffi-bindgen -- --language python --udl-file ./bdk-ffi/src/bdk.udl --out-dir ./src/bdkpython/
|
||||
BDKFFI_BINDGEN_OUTPUT_DIR="$PY_SRC" BDKFFI_BINDGEN_PYTHON_FIXUP_PATH=bdkffi cargo run --manifest-path ./bdk-ffi/Cargo.toml --package bdk-ffi-bindgen -- --language python --udl-file ./bdk-ffi/src/bdk.udl
|
||||
|
36
setup.py
36
setup.py
@ -18,24 +18,24 @@ pip install bdkpython
|
||||
import bdkpython as bdk
|
||||
|
||||
|
||||
descriptor = "wpkh(tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/84h/1h/0h/0/*)"
|
||||
config = bdk.DatabaseConfig.MEMORY("")
|
||||
client = bdk.BlockchainConfig.ELECTRUM(
|
||||
bdk.ElectrumConfig(
|
||||
"ssl://electrum.blockstream.info:60002",
|
||||
None,
|
||||
5,
|
||||
None,
|
||||
100
|
||||
)
|
||||
)
|
||||
descriptor = "wpkh(tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/84h/0h/0h/0/*)"
|
||||
db_config = bdk.DatabaseConfig.MEMORY()
|
||||
blockchain_config = bdk.BlockchainConfig.ELECTRUM(
|
||||
bdk.ElectrumConfig(
|
||||
"ssl://electrum.blockstream.info:60002",
|
||||
None,
|
||||
5,
|
||||
None,
|
||||
100
|
||||
)
|
||||
)
|
||||
blockchain = bdk.Blockchain(blockchain_config)
|
||||
|
||||
wallet = bdk.Wallet(
|
||||
descriptor=descriptor,
|
||||
change_descriptor=descriptor,
|
||||
change_descriptor=None,
|
||||
network=bdk.Network.TESTNET,
|
||||
database_config=config,
|
||||
blockchain_config=client
|
||||
database_config=db_config,
|
||||
)
|
||||
|
||||
# print new receive address
|
||||
@ -44,11 +44,7 @@ print(f"New BIP84 testnet address: {address}")
|
||||
|
||||
|
||||
# print wallet balance
|
||||
class LogProgress(bdk.BdkProgress):
|
||||
def update(self, progress, update):
|
||||
pass
|
||||
|
||||
wallet.sync(progress_update=LogProgress(), max_address_param=20)
|
||||
wallet.sync(blockchain, None)
|
||||
balance = wallet.get_balance()
|
||||
print(f"Wallet balance is: {balance}")
|
||||
"""
|
||||
@ -61,7 +57,7 @@ rust_ext = RustExtension(
|
||||
|
||||
setup(
|
||||
name='bdkpython',
|
||||
version = '0.0.6.dev',
|
||||
version = '0.1.0.dev',
|
||||
description="The Python language bindings for the bitcoindevkit",
|
||||
long_description=LONG_DESCRIPTION,
|
||||
long_description_content_type='text/markdown',
|
||||
|
@ -1,42 +1,46 @@
|
||||
import bdkpython as bdk
|
||||
|
||||
import unittest
|
||||
|
||||
# taken from bdk test suite @ https://github.com/bitcoindevkit/bdk/blob/master/src/descriptor/template.rs#L676
|
||||
descriptor = "wpkh(tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/84h/0h/0h/0/*)"
|
||||
db_config = bdk.DatabaseConfig.MEMORY()
|
||||
client = bdk.BlockchainConfig.ELECTRUM(
|
||||
bdk.ElectrumConfig(
|
||||
"ssl://electrum.blockstream.info:60002",
|
||||
None,
|
||||
5,
|
||||
None,
|
||||
100
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def test_address_bip84_testnet():
|
||||
wallet = bdk.Wallet(
|
||||
descriptor=descriptor,
|
||||
change_descriptor=None,
|
||||
network=bdk.Network.TESTNET,
|
||||
database_config=db_config
|
||||
blockchain_config = bdk.BlockchainConfig.ELECTRUM(
|
||||
bdk.ElectrumConfig(
|
||||
"ssl://electrum.blockstream.info:60002",
|
||||
None,
|
||||
5,
|
||||
None,
|
||||
100
|
||||
)
|
||||
address = wallet.get_new_address()
|
||||
print(f"New address is {address}")
|
||||
assert address == "tb1qkmvk2nadgplmd57ztld8nf8v2yxkzmdvvztyse"
|
||||
)
|
||||
blockchain = bdk.Blockchain(blockchain_config)
|
||||
|
||||
|
||||
test_address_bip84_testnet()
|
||||
class TestSimpleBip84Wallet(unittest.TestCase):
|
||||
|
||||
# def test_wallet_balance():
|
||||
# wallet = bdk.OnlineWallet(
|
||||
# descriptor=descriptor,
|
||||
# change_descriptor=descriptor,
|
||||
# network=bdk.Network.TESTNET,
|
||||
# database_config=config,
|
||||
# blockchain_config=client
|
||||
# )
|
||||
# wallet.sync()
|
||||
# balance = wallet.get_balance()
|
||||
# assert balance > 0
|
||||
def test_address_bip84_testnet(self):
|
||||
wallet = bdk.Wallet(
|
||||
descriptor=descriptor,
|
||||
change_descriptor=None,
|
||||
network=bdk.Network.TESTNET,
|
||||
database_config=db_config
|
||||
)
|
||||
address = wallet.get_new_address()
|
||||
# print(f"New address is {address}")
|
||||
assert address == "tb1qkmvk2nadgplmd57ztld8nf8v2yxkzmdvvztyse", f"Wrong address {address}, should be tb1qkmvk2nadgplmd57ztld8nf8v2yxkzmdvvztyse"
|
||||
|
||||
def test_wallet_balance(self):
|
||||
wallet = bdk.Wallet(
|
||||
descriptor=descriptor,
|
||||
change_descriptor=None,
|
||||
network=bdk.Network.TESTNET,
|
||||
database_config=db_config,
|
||||
)
|
||||
wallet.sync(blockchain, None)
|
||||
balance = wallet.get_balance()
|
||||
# print(f"Balance is {balance} sat")
|
||||
assert balance > 0, "Balance is 0, send testnet coins to tb1qkmvk2nadgplmd57ztld8nf8v2yxkzmdvvztyse"
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
Loading…
x
Reference in New Issue
Block a user