nanopy includes C extensions for work generation and signing, and therefore needs a compiler to install.
sudo apt install gcc python3-dev
pip install nanopyWhen needed, use the environment variables CC, LDSHARED, CFLAGS, and LDFLAGS to tweak build options. See setuptools documentation for further info.
GPU support can be enabled with USE_OCL=1 and appropriate OpenCL dependencies.
sudo apt install gcc python3-dev ocl-icd-opencl-dev intel/mesa/nvidia/pocl/rocm-opencl-icd
USE_OCL=1 pip install nanopy- Install
mnemonicto generate mnemonic wallets. - Install
requestsorwebsocket-clientto use http or websocket RPC, respectively.
# create an account (defaults to NANO network) and set secret key
seed = "0000000...."
acc = npy.Account()
acc.sk = npy.deterministic_key(seed)
# if it is not a new account, set the current state of the account (frontier, raw bal, rep)
acc.state = ("1234....", 1200000000000000, npy.Account(addr="nano_repaddress..."))
# create a receive block and optionally, change rep along with it
_hash = "5678...."
raw_amt = acc.network.to_raw("10")
rep = npy.Account(addr="nano_newrepaddress...")
rb = acc.receive(_hash, raw_amt, rep)
# create a send block
to = npy.Account(addr="nano_sendaddress...")
raw_amt = acc.network.to_raw("1")
sb = acc.send(to, raw_amt)
# broadcast
rpc.process(rb.json)
rpc.process(sb.json)Although not part of the package, the light wallet included in the repository can be a reference to understand how the library works.
- Configuration is in
~/.config/nanopy.ini -n,--network. Choose the network to interact with - nano, banano, or beta. The default network is nano.- Checks state of accounts in
~/.config/nanopy.iniby default. - Open a wallet,
nanopy-wallet open KEY, and use seeds from system keyring.KEYis an entry previously generated by this wallet. Seenanopy-wallet open -hfor options.