Skip to content
/ pyckb Public

Pyckb is a project that aims to provide human-friendly interfaces for common ckb operations.

License

Notifications You must be signed in to change notification settings

mohanson/pyckb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 = 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

Test

$ 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

License

MIT

About

Pyckb is a project that aims to provide human-friendly interfaces for common ckb operations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages