Skip to main content

Python implementation of NANO currency related functions

Project description

nanopy

nanopy includes C extensions for work generation and signing, and therefore needs a compiler to install.

sudo apt install gcc python3-dev
pip install nanopy

When 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 mnemonic to generate mnemonic wallets.
  • Install requests or websocket-client to use http or websocket RPC, respectively.

Usage

# 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)

Wallet

A cli wallet is included with the library

  • Configuration is in ~/.config/nanopy.ini
[nano]
nano_1111111111111111111111111111111111111111111111111111hifc8npp
nano_16aj46aj46aj46aj46aj46aj46aj46aj46aj46aj46aj46aj46ajbtsyew7c
rpc = http://localhost:7076
  • -n, --network. Choose the network to interact with - nano, banano, or beta. The default network is nano.
  • Checks state of accounts in ~/.config/nanopy.ini by default.
  • Open a wallet, nanopy-wallet open FILE KEY. KEY is a seed in a KDBX FILE. See nanopy-wallet open -h for options.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nanopy-28.0.1.post13.tar.gz (124.0 kB view details)

Uploaded Source

File details

Details for the file nanopy-28.0.1.post13.tar.gz.

File metadata

  • Download URL: nanopy-28.0.1.post13.tar.gz
  • Upload date:
  • Size: 124.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nanopy-28.0.1.post13.tar.gz
Algorithm Hash digest
SHA256 dfa08a2779c0969c7391fdb2e5c12903a5f964dcb73740ee2617c70580b5201d
MD5 df6fc78268d7fbecb4a5ad76e73e1323
BLAKE2b-256 1c6c72c7fce0e62daef05651c052ca1f9824f5a1d1887e2d193d81444ddfff68

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanopy-28.0.1.post13.tar.gz:

Publisher: nanopy.yml on nkr0/nanopy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page