Developing with CLI Wallet code

I’m looking to use the CLI wallet code to develop something along the lines of an app, or perhaps just some interesting ways to interface with the blockchain to read data. (Mostly for experience initially, but with business users as my focus.)

I’d like to know if others can share some simple ideas they think would be useful, and maybe things to know about developing using the CLI.

I have good enough javascript skills, plus some general other languages, but not an expert by any standard. Though I’ve developed commercial software using other languages so I understand the end to end life cycle and need for continuous improvement and development, security, privacy, maintenance and such.

That said, I would like to hear from the community about how to built something new with the CLI code that would not complete the TWM, but offer some niche use cases.

Some ideas I want to experiment with:
Make a simple basic personal store app that lets you favorite products, watch/alert an item price, quantity, etc.
And hopefully if it ends up being safe enough, others could clone the project. (Not trying for any payment activity yet, just an anonymous product viewer similar to but for a single seller, or maybe even a user can favorites several sellers along with products, etc…)(i guess that’s really more like saved search queries with ability to hide results you don’t want to see again.)

If anyone has any cool use cases they want to share, I’d like to try to make something and share it.


You might want to start with the API. I believe Dan has completed documentation for an API he created specifically to help developers interact with the Safex Blockchain.


At first glance you can find some lower level access to information directly from a full node using these rpc calls:

Found at the recent documentation, soon will be published on the main repo

examples here:

For the wallet level functionality you can import safex-nodejs-libwallet

This will let you open a wallet keys file and do transactions with javascript, programmatically: