Python SDK for CKB
Project description
Python SDK for CKB
Python CKB is an experimental project that aims to provide human-friendly interfaces for common CKB operations. Note that Python CKB is not a complete SDK, but only implements the CKB functions that I am interested in.
Features:
- No third-party dependencies. All code is visible.
- Incredibly simple.
Installation
$ python -m pip install pyckb
# or
$ git clone https://github.com/mohanson/pyckb
$ cd pyckb
$ python -m pip install --editable .
Usage
By default, pyckb is configured on the develop. To switch networks, see ckb.config
.
example/addr.py
Calculate address from private key in secp256k1 lock.
$ python example/addr.py --prikey 1
# ckt1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsqt4z78ng4yutl5u6xsv27ht6q08mhujf8s2r0n40
example/capacity.py
Get the capacity by an address.
$ python example/capacity.py --addr ckt1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsqt4z78ng4yutl5u6xsv27ht6q08mhujf8s2r0n40
# 3523312.39054609
example/deploy.py
Deploy a script to the chain.
$ python example/deploy.py --prikey 1 --file LICENSE
# script.code_hash = 0x1a124d54d4f37713b8f17fc12142ede488906d4290fbb178d7aad214977814ee
# script.hash_type = 2(data1)
# out_point.hash = 0x418f60d67ff3e9841a3091c55cb4eb50837602582495931c372fff99f3107f38
# out_point.index = 0
example/faucet.py
One faucet to send 300000 CKB to any ckb addresses. Note this only takes effect on the testnet.
$ python example/faucet.py --addr ckt1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsqt4z78ng4yutl5u6xsv27ht6q08mhujf8s2r0n40
example/redeem.py
Attempt to withdraw all funds from Dao. When running the test case of pyckb by pytest -v
, a part of ckb will be locked in Dao. Use this script to recover this part of the funds.
$ python example/redeem.py --prikey 1
example/txdump.py
Dump full transaction data for ckb-debugger to use.
$ python example/txdump.py --net testnet --hash 0x123b09a89e65cc9c375dab739c9c921f7067d0b205e563135bb5a1221f8948d9
Test
$ wget https://github.com/nervosnetwork/ckb/releases/download/v0.117.0/ckb_v0.117.0_x86_64-unknown-linux-gnu.tar.gz
$ tar -xvf ckb_v0.117.0_x86_64-unknown-linux-gnu.tar.gz
$ cd ckb_v0.117.0_x86_64-unknown-linux-gnu/
$ ckb init --chain dev --ba-arg 0x75178f34549c5fe9cd1a0c57aebd01e7ddf9249e --ba-message 0xabcd
$ ckb run --indexer
$ ckb miner
$ pytest -v
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyckb-1.0.2.tar.gz
.
File metadata
- Download URL: pyckb-1.0.2.tar.gz
- Upload date:
- Size: 19.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce4a018f928e00b398b523ea86ad0acded2545f3e30e6ebc7f3cc5cbb41ea1d8 |
|
MD5 | 5b83ab48070a7c1f1db09a62e774deef |
|
BLAKE2b-256 | 23d1a34f5ea080bc7337c285728d8728f36848aa3bcf1d2006c3588522adc74c |
File details
Details for the file pyckb-1.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: pyckb-1.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 19.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4e7221ab49b0351ad672fde10a8ce657022d554b2167d7aea61a0cdabf1a568 |
|
MD5 | 3126fc10a9b261d470b3ff8108c91cf4 |
|
BLAKE2b-256 | a4c4ff42d21e15b3fd0a1caa7053b95029129f8fc994cde6cb86fcd430a92466 |