Pyckb is a project that aims to provide human-friendly interfaces for common ckb operations. Using pyckb, you can easily and happily complete everything you want to do on ckb.
Features:
- No third-party dependencies, everything is visible.
- Incredibly simple, even a cat knows how to use it.
$ python -m pip install pyckb
# or
$ git clone https://github.com/mohanson/pyckb
$ cd pyckb
$ python -m pip install --editable .
By default, pyckb is configured on the develop. To switch networks, use pyckb.config.current = pyckb.config.mainnet
.
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/transfer.py
Transfer ckb to another account. If value is 0, then all assets will be transferred.
$ python example/transfer.py --prikey 1 --to ckt1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsqdrcaufs8qeu8wvvy0myyedek4vqad9qeq3gc4cf --value 100
example/txdump.py
Dump full transaction data for ckb-debugger to use.
$ python example/txdump.py --net testnet --hash 0x123b09a89e65cc9c375dab739c9c921f7067d0b205e563135bb5a1221f8948d9
$ wget https://github.com/nervosnetwork/ckb/releases/download/v0.119.0/ckb_v0.119.0_x86_64-unknown-linux-gnu.tar.gz
$ tar -xvf ckb_v0.119.0_x86_64-unknown-linux-gnu.tar.gz
$ cd ckb_v0.119.0_x86_64-unknown-linux-gnu/
$ ckb init --chain dev --ba-arg 0x75178f34549c5fe9cd1a0c57aebd01e7ddf9249e --ba-message 0xabcd
$ ckb run --indexer
$ ckb miner
$ pytest -v
MIT