top of page
  • Writer's pictureYusuf

First Steps in Banano: A Developer’s Guide

Banano is a fast, feeless cryptocurrency. Anyone can build a service that uses Banano without needing to ask for permission.


If you're not a developer, please have a look and try to understand! :) There are now more "developer tools", making it easier to develop stuff!


What is already built for Banano?

- Wallet apps: TheBananoStand , Kalium (mobile)

- Banano NFTs: banfts.com

- Some faucets: JungleTV (watch videos to earn BAN), and many others!


If you want to build a new project that uses Banano, or integrate Banano payments to an existing project, or add a new functionality to Banano (like Banano NFTs), you will probably need to have these functions in your program:

1. Create a Banano account

It is easy to create a Banano account. If you use Python, these lines are enough:

import secrets
import nanopy
nanopy.account_prefix="ban_"
seed = "".join([secrets.choice("0123456789abcdef") for i in range(64)])
address = nanopy.deterministic_key(seed, index=0)[2]

Using JavaScript? Please see: npmjs.com/package/@bananocoin/bananojs


2. Check Banano balance of an address

You need one of these to interact with the Banano network:

a) have a Banano node

b) use a Banano RPC API (have partial access to someone else's Banano node)


I encourage you to set up a Banano node for production environments, because an API can go down and make your service become unstable/unusable.


But since we're testing, let's use a public Banano RPC API. Here is an example of how to get the balance of a Banano address, click the link here:

It currently returns the following:

{"balance":"3872403287096080515460654118144410817","balance_decimal":"38724032.87096080515460654118144410817","pending":"0","pending_decimal":"0.0","receivable":"0","receivable_decimal":"0.0"}

- As you can see, the action is "account_balance", and you can find the other "action"s here: docs.nano.org/commands/rpc-protocol/

- You can change the "account" part of the URL to check the balance of another address.


Here's how you can query an account with Python, with the use of that API:

import requests
balance_data = requests.post('https://api.banano.trade/proxy', json={"action": "account_balance", "account": "ban_1fundm3d7zritekc8bdt4oto5ut8begz6jnnt7n3tdxzjq3t46aiuse1h7gj" })
balance = balance_data.json()['balance']

balance variable now has this string: "3872403287096080515460654118144410817"

If you divide this number with 10^29, you'll find the actual Banano amount:

balance/10**29

or you can directly get it from:

balance_data.json()['balance_decimal']

3. Receive and Send Banano

These are complicated than others, so I'm not going to cover them here.


Keep in mind that while transactions with Banano are feeless, they still require a minimal amount of Proof of Work (PoW). This means that, despite the absence of fees, sending and receiving Banano transactions requires some computational effort.


That's it for now! <3

152 views0 comments
bottom of page