SomeNano


A free-to-use Public Nano Node since 2021


This page provides an overview of the capabilities available to you from the SomeNano Node. This Nano Node comes with no service agreement nor any guarantee of availability. If you are looking to experiment or prototype with the Nano Network, the SomeNano Node is a good place to start. If you are looking to host an application where you will need/want to assure operation and availability, I recommend you host your own Nano Node. If you have any questions, please reach out to me via email (PGP) or via Twitter @SomeNanoTweets.

To learn more on interacting with a Public Nano Node read my "Getting Started" series of articles on Medium

  1. Build Your Foundation
  2. Interacting with Public and Private Nano Nodes
  3. Interacting with Programmable Software Wallets

Node Monitor (#)

The SomeNano Node Monitor provides a real-time status of the underlying Nano Node. This page is build from the Nano Node Monitor project.

Below is an iframe for a quick view. The full page can be found here: https://node.somenano.com/monitor.

Node RPC (#)

The Node RPC is available with a subset of commands of a full Nano Node RPC. Requests are limited and limits are visible in the responses. The endpoint is running a Nano RPC Proxy to handle requests.

Additional Public Nano Nodes with various capabilities can be seen here: https://publicnodes.somenano.com

Endpoint:

https://node.somenano.com/proxy

Live Example:

GET Request: https://node.somenano.com/proxy?action=version

or POST Request: https://node.somenano.com/proxy; with params: { action: "version" }


                            

Below you will find a full listing of all available RPC commands.

Standard Node RPC Commands:

Non-Standard Node RPC Commands:

Node WebSocket (#)

The Node WebSocket is available with a subset of commands of a full Nano Node WebSocket. Requests are limited, for example max 100 addresses for confirmation monitoring. The endpoint is running a Nano RPC Proxy to handle requests.

Additional Public Nano Nodes with various capabilities can be seen here: https://publicnodes.somenano.com

Endpoint:

wss://node.somenano.com/websocket

Live Example:

WebSocket message:

{
    "action": "subscribe",
    "topic": "confirmation",
    "options": {
        "accounts": [
            "nano_1somenanerzdzdbyr4y6x996qbo764ifxk8beuhphydmwn1agpzkwquqqick"
        ]
    }
}
                            

Response: (updated n/a)


                            

To see the WebSocket data of a confirmed Nano Block, send any amount of Nano to nano_1somenanerzdzdbyr4y6x996qbo764ifxk8beuhphydmwn1agpzkwquqqick (NanoCrawler link)

Or scan this qrcode to send:

Node Repeater (#)

The Node Repeater is a tool to receive via a WebSocket every Nano Block as it is confirmed by the Nano Network. If you run your own Nano Node, you can get similar results by running the above Node WebSocket example without specifying accounts (which is disabled in my Node WebSocket). However in the Node Repeater, Nano Blocks are grouped and sent every periodically (defined in response.duration in milliseconds) to conserve bandwidth/processing. This endpoint will not filter on specific accounts.

Here is a tutorial on using this repeater: How to watch every Nano transaction — Developing with Nano Currency

Endpoint:

wss://node.somenano.com/repeater

Response:

{
    "block_dump": {
        "dtg": "2021-01-22T23:18:48.276Z",  // Date WebSocket message was sent from SomeNano Node
        "topic": "confirmation",
        "cps": 2.4,                         // Confirmations per second as calculated by the SomeNano Node
        "duration": 5000,                   // Amount of time (milliseconds) this dump of Nano Blocks covers
        "blocks": [                         // Array of all Nano Blocks confirmed during this window
            {
                ... Nano Block Data ...
            },
            {
                ... Nano Block Data ...
            }
        ]
  }
}
                        
{
    "dtg": "2021-01-22T23:25:18.302Z",      // Date WebSocket message was sent from SomeNano Node
    "topic": "cps",
    "cps": 3.8,                             // Confirmations per second as calculated by the SomeNano Node
    "seconds": 30                           // CPS is calculated as average over the last this number of seconds
}
                        

Live Examples:

WebSocket message to subscribe to all confirmations:

{
    action: 'subscribe',
    topic: 'confirmation'
}
                            

Response: (updated n/a)

                                
                            

WebSocket message to subscribe to confirmations per second:

{
    action: 'subscribe',
    topic: 'cps'
}
                            

Response: (updated n/a)