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
|
bash ./generate.sh
|
||||||
python3 setup.py --verbose bdist_wheel
|
python3 setup.py --verbose bdist_wheel
|
||||||
pip3 install ./dist/bdkpython-<yourversion>-py3-none-any.whl
|
pip3 install ./dist/bdkpython-<yourversion>-py3-none-any.whl
|
||||||
python3 ./tests/test_bdk.py
|
python -m unittest --verbose tests/test_bdk.py
|
||||||
```
|
```
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
@ -7,4 +7,5 @@ PY_SRC="${SCRIPT_DIR}/src/bdkpython/"
|
|||||||
|
|
||||||
echo "Generating bdk.py..."
|
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
|
# 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
|
import bdkpython as bdk
|
||||||
|
|
||||||
|
|
||||||
descriptor = "wpkh(tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/84h/1h/0h/0/*)"
|
descriptor = "wpkh(tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/84h/0h/0h/0/*)"
|
||||||
config = bdk.DatabaseConfig.MEMORY("")
|
db_config = bdk.DatabaseConfig.MEMORY()
|
||||||
client = bdk.BlockchainConfig.ELECTRUM(
|
blockchain_config = bdk.BlockchainConfig.ELECTRUM(
|
||||||
bdk.ElectrumConfig(
|
bdk.ElectrumConfig(
|
||||||
"ssl://electrum.blockstream.info:60002",
|
"ssl://electrum.blockstream.info:60002",
|
||||||
None,
|
None,
|
||||||
5,
|
5,
|
||||||
None,
|
None,
|
||||||
100
|
100
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
blockchain = bdk.Blockchain(blockchain_config)
|
||||||
|
|
||||||
wallet = bdk.Wallet(
|
wallet = bdk.Wallet(
|
||||||
descriptor=descriptor,
|
descriptor=descriptor,
|
||||||
change_descriptor=descriptor,
|
change_descriptor=None,
|
||||||
network=bdk.Network.TESTNET,
|
network=bdk.Network.TESTNET,
|
||||||
database_config=config,
|
database_config=db_config,
|
||||||
blockchain_config=client
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# print new receive address
|
# print new receive address
|
||||||
@ -44,11 +44,7 @@ print(f"New BIP84 testnet address: {address}")
|
|||||||
|
|
||||||
|
|
||||||
# print wallet balance
|
# print wallet balance
|
||||||
class LogProgress(bdk.BdkProgress):
|
wallet.sync(blockchain, None)
|
||||||
def update(self, progress, update):
|
|
||||||
pass
|
|
||||||
|
|
||||||
wallet.sync(progress_update=LogProgress(), max_address_param=20)
|
|
||||||
balance = wallet.get_balance()
|
balance = wallet.get_balance()
|
||||||
print(f"Wallet balance is: {balance}")
|
print(f"Wallet balance is: {balance}")
|
||||||
"""
|
"""
|
||||||
@ -61,7 +57,7 @@ rust_ext = RustExtension(
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='bdkpython',
|
name='bdkpython',
|
||||||
version = '0.0.6.dev',
|
version = '0.1.0.dev',
|
||||||
description="The Python language bindings for the bitcoindevkit",
|
description="The Python language bindings for the bitcoindevkit",
|
||||||
long_description=LONG_DESCRIPTION,
|
long_description=LONG_DESCRIPTION,
|
||||||
long_description_content_type='text/markdown',
|
long_description_content_type='text/markdown',
|
||||||
|
@ -1,42 +1,46 @@
|
|||||||
import bdkpython as bdk
|
import bdkpython as bdk
|
||||||
|
import unittest
|
||||||
|
|
||||||
# taken from bdk test suite @ https://github.com/bitcoindevkit/bdk/blob/master/src/descriptor/template.rs#L676
|
# taken from bdk test suite @ https://github.com/bitcoindevkit/bdk/blob/master/src/descriptor/template.rs#L676
|
||||||
descriptor = "wpkh(tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/84h/0h/0h/0/*)"
|
descriptor = "wpkh(tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/84h/0h/0h/0/*)"
|
||||||
db_config = bdk.DatabaseConfig.MEMORY()
|
db_config = bdk.DatabaseConfig.MEMORY()
|
||||||
client = bdk.BlockchainConfig.ELECTRUM(
|
blockchain_config = bdk.BlockchainConfig.ELECTRUM(
|
||||||
bdk.ElectrumConfig(
|
bdk.ElectrumConfig(
|
||||||
"ssl://electrum.blockstream.info:60002",
|
"ssl://electrum.blockstream.info:60002",
|
||||||
None,
|
None,
|
||||||
5,
|
5,
|
||||||
None,
|
None,
|
||||||
100
|
100
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_address_bip84_testnet():
|
|
||||||
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}")
|
blockchain = bdk.Blockchain(blockchain_config)
|
||||||
assert address == "tb1qkmvk2nadgplmd57ztld8nf8v2yxkzmdvvztyse"
|
|
||||||
|
|
||||||
|
|
||||||
test_address_bip84_testnet()
|
class TestSimpleBip84Wallet(unittest.TestCase):
|
||||||
|
|
||||||
# def test_wallet_balance():
|
def test_address_bip84_testnet(self):
|
||||||
# wallet = bdk.OnlineWallet(
|
wallet = bdk.Wallet(
|
||||||
# descriptor=descriptor,
|
descriptor=descriptor,
|
||||||
# change_descriptor=descriptor,
|
change_descriptor=None,
|
||||||
# network=bdk.Network.TESTNET,
|
network=bdk.Network.TESTNET,
|
||||||
# database_config=config,
|
database_config=db_config
|
||||||
# blockchain_config=client
|
)
|
||||||
# )
|
address = wallet.get_new_address()
|
||||||
# wallet.sync()
|
# print(f"New address is {address}")
|
||||||
# balance = wallet.get_balance()
|
assert address == "tb1qkmvk2nadgplmd57ztld8nf8v2yxkzmdvvztyse", f"Wrong address {address}, should be tb1qkmvk2nadgplmd57ztld8nf8v2yxkzmdvvztyse"
|
||||||
# assert balance > 0
|
|
||||||
|
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