Skip to content

jl777/SuperNET_API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SuperNET_API

Make sure you have Google Chrome, Chromium has different instructions.

Launch Chrome with --allow-nacl-socket-api=localhost command line arg.

git clone https://github.com/jl777/SuperNET_API;
cd SuperNET_API;
tools/httpd.py -C . -p 7777 &

Now you can go to http://localhost:7777

To issue API calls use SNapi:

gcc -o SNapi SNapi.c plugins/utils/cJSON.c -lnanomsg -lm

./SNapi "{\"plugin\":\"InstantDEX\",\"method\":\"allexchanges\"}"

You can change any of the HTML or JS files and just refresh to test it. After the first clone, just do a git pull and refresh the page.

To recompile the pexe files from scratch, you need to setup a nacl_sdk toolchain (https://developer.chrome.com/native-client/sdk/download) and copy the toolchain directory into the SuperNET_API directory. From there make will recompile, make serve will recompile and launch httpd.py localhost server.

There are five ways of accessing the SuperNET_API:

  • via JS function bindings that will send JSON to SuperNET core and get a JSON return back
  • via SNapi to send in a JSON request to SuperNET core and it will print to stdout the JSON return
  • from SuperNET console
  • using ./BitcoinDarkd SuperNET '{<json request>}'
  • via C code that is linked into the SuperNET_API itself

On unix systems, you can use ./m_unix to build a standalone SuperNET, SNapi and BitcoinDarkd. It shares the same codebase, but on most unix (or mac osx) systems it will be 64bit code vs the 32bit bytecodes and of course an entirely different toolchain, so there could be subtle differences in behavior other than the ~2x performance the native code will get.

The nanomsg comms between the native and pnacl should be compatible as long as control messages are not used and the transports are limited to inproc, ipc and tcp.

James

About

No description, website, or topics provided.

Resources

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published