Pyckb: Nervos CKB Library For Humans
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.
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, 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 = 1a124d54d4f37713b8f17fc12142ede488906d4290fbb178d7aad214977814ee
# script.hash_type = 2(data1)
# out_point.hash = 418f60d67ff3e9841a3091c55cb4eb50837602582495931c372fff99f3107f38
# 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
example/unittest.py
Pyckb provides a unit testing framework to help script developers test their scripts. To use this framework, you need to install ckb-debugger first. This example tests an always success script.
$ python example/unittest.py
# Run result: 0
# All cycles: 539
Test
$ wget https://github.com/nervosnetwork/ckb/releases/download/v0.205.0/ckb_v0.205.0_x86_64-unknown-linux-gnu.tar.gz
$ tar -xvf ckb_v0.205.0_x86_64-unknown-linux-gnu.tar.gz
$ cd ckb_v0.205.0_x86_64-unknown-linux-gnu/
$ ckb init --chain dev --ba-arg 0x75178f34549c5fe9cd1a0c57aebd01e7ddf9249e
$ ckb run --indexer
$ ckb miner
$ pytest -v
License
MIT
Metadata
Release files for pyckb 1.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyckb-1.2.5.tar.gz | 25.0 kB | Without provenance | Details for pyckb-1.2.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyckb-1.2.5-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for pyckb-1.2.5-py2.py3-none-any.whl |
Total release size: 49.5 kB
Release files / pyckb-1.2.5.tar.gz
| Download URL | pyckb-1.2.5.tar.gz |
|---|---|
| Size | 25.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4393e61578368ce2716fe84f66dbfbc6398472bbc9aa94f660f11184131c7c9b
|
|
BLAKE2b-256 checksum How to use checksums |
3858c86b40b9ccbb55a435f002010f997a9ed439f143940ebb5b91b22b6116ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / pyckb-1.2.5-py2.py3-none-any.whl
| Download URL | pyckb-1.2.5-py2.py3-none-any.whl |
|---|---|
| Size | 24.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
d0567b4320166b3917be73c823772e29fdc6664fe6b857a28ebea39352026e61
|
|
BLAKE2b-256 checksum How to use checksums |
0f05a597ed4d53aab0ac01ac1c6a8f3969cb0bdacfecd8d9d925d925df67fdb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Security for pyckb 1.2.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.