We are pleased to announce the release of Jolt Cast (jolt_cast), the repository responsible for managing our server-side currency integrations. Included within this project is Nano Cast (nano_cast), which helps facilitates all communication between the wallet and the Nano Node (and therefore the Nano network).
Our team currently runs a server with Nano Cast and a Nano Node, however we hope that in the future others will be able to run their own servers (either personally or on behalf of the community) and Jolt owners can already switch the ‘backend’ server from the default to also help provide more decentralization and dependency reduction on a single server/node.
Under The Hood
Nano Cast is written in Python and runs a websocket server. Once the Jolt Wallet connects, the server is designed to send and receive whitelisted RPC commands between the Nano Node and Jolt Wallet. While this works fine on its own, we’ve also added a few simple but powerful functions that we hope you’ll like:
Anti-spam — as one of the features of nano_cast is to allow the Jolt Wallet to generate Proof of Work (PoW) on the server this could be abused, there is a internal timeout which stops over use of this function
Pre-caching of PoW — Whenever a block is broadcast by nano_cast from Jolt Wallet (this can be either send or receive) the new block hash is returned. Nanocast spins off a thread which then calculates the PoW of this block hash and saves it in a database. When the corresponding account then wants to broadcast a new block and therefore needs PoW the server already has it ready and doesn’t have to wait. This increases up the speed of transactions significantly — checkout the video for a demonstration.
Whitelist IP addresses — You can define through the command line a list of IP addresses that are allowed to use the node. If you don’t include whitelist addresses the Nanocast will not use this feature and be available to any IP address.
Please see the nano_cast GitHub Readme for more information including how to setup nano_cast directly or within a docker container).
As we add support for more currencies to Jolt, we’ll be using the jolt_cast repository to add the corresponding server backend integration as well.
We also wanted to thank each and every one of you for all of the overwhelming support and great feedback you’ve provided following the launch of the Jolt Wallet project. We’ve already begun pushing ahead on new features, new designs, and new ideas and can’t wait to show you!