# nanopy
* Install by running `pip install nanopy`.
  * Install `mnemonic` to generate mnemonic wallets.
  * Install `requests` or `websocket-client` to use http or websocket RPC, respectively.

## Usage
```py
# 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
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.ini` by default.
* Open a wallet, `nanopy-wallet open KEY`, and use seeds from system keyring. `KEY` is an entry previously generated by this wallet. See `nanopy-wallet open -h` for options.
