Add MVP Python package structure
This commit is contained in:
parent
45cdd6911a
commit
5e376db385
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@ bdkpython.egg-info/
|
|||||||
__pycache__/
|
__pycache__/
|
||||||
libbdkffi.dylib
|
libbdkffi.dylib
|
||||||
.idea/
|
.idea/
|
||||||
|
.DS_Store
|
||||||
|
@ -7,21 +7,25 @@ Install the latest release using
|
|||||||
```shell
|
```shell
|
||||||
pip install bdkpython
|
pip install bdkpython
|
||||||
```
|
```
|
||||||
|
<br/>
|
||||||
|
|
||||||
## Run the tests
|
## Run the tests
|
||||||
```shell
|
```shell
|
||||||
python -m tox
|
python -m tox
|
||||||
```
|
```
|
||||||
|
<br/>
|
||||||
|
|
||||||
## Build the package
|
## Build the package
|
||||||
```shell
|
```shell
|
||||||
python -m build
|
python -m build
|
||||||
```
|
```
|
||||||
|
<br/>
|
||||||
|
|
||||||
## Install locally
|
## Install locally
|
||||||
```shell
|
```shell
|
||||||
pip install ./dist/bdkpython-0.0.1-py3-none-any.whl
|
pip install ./dist/bdkpython-0.0.1-py3-none-any.whl
|
||||||
```
|
```
|
||||||
|
<br/>
|
||||||
|
|
||||||
## Known issues
|
## Known issues
|
||||||
Note that until the fix is merged upstream in [uniffi-rs](https://github.com/mozilla/uniffi-rs), the `loadIndirect()` function in the `bdk.py` module must be replaced with the following:
|
Note that until the fix is merged upstream in [uniffi-rs](https://github.com/mozilla/uniffi-rs), the `loadIndirect()` function in the `bdk.py` module must be replaced with the following:
|
||||||
|
13
setup.py
Normal file
13
setup.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name='bdkpython',
|
||||||
|
version='0.0.1',
|
||||||
|
packages=find_packages(where="src"),
|
||||||
|
package_dir={"": "src"},
|
||||||
|
package_data={"bdkpython": ["*.dylib"]},
|
||||||
|
include_package_data=True,
|
||||||
|
zip_safe=False,
|
||||||
|
)
|
1
src/bdkpython/__init__.py
Normal file
1
src/bdkpython/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
from bdkpython.bdk import *
|
1891
src/bdkpython/bdk.py
Normal file
1891
src/bdkpython/bdk.py
Normal file
File diff suppressed because it is too large
Load Diff
33
tests/test_bdk.py
Normal file
33
tests/test_bdk.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import bdkpython as bdk
|
||||||
|
|
||||||
|
|
||||||
|
# taken from bdk test suite @ https://github.com/bitcoindevkit/bdk/blob/master/src/descriptor/template.rs#L676
|
||||||
|
descriptor = "wpkh(tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/84h/0h/0h/0/*)"
|
||||||
|
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.OfflineWallet(descriptor, bdk.Network.TESTNET, config)
|
||||||
|
address = wallet.get_new_address()
|
||||||
|
assert address == "tb1qkmvk2nadgplmd57ztld8nf8v2yxkzmdvvztyse"
|
||||||
|
|
||||||
|
# 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
|
Loading…
x
Reference in New Issue
Block a user