You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Mayur Nagekar 3ac595ae19 Fixed win32 and win64 iguana and libcrypto777.a builds 9 years ago
InstantDEX instaforex 9 years ago
LEGAL initial commit 9 years ago
SuperNET test 9 years ago
agents Fixed win32 and win64 iguana and libcrypto777.a builds 9 years ago
android corrected formatting of readme file 9 years ago
confs test 9 years ago
crypto777 Fixed win32 and win64 iguana and libcrypto777.a builds 9 years ago
css initial commit 9 years ago
deprecated revised FSM 9 years ago
help Peer management updates, saving peers in conf file, sortable table auto add coin, added save conf files and max peers setting in in setting tab 9 years ago
iguana Fixed win32 and win64 iguana and libcrypto777.a builds 9 years ago
includes Fixed win32 and win64 iguana and libcrypto777.a builds 9 years ago
ios corrected openssl library url 9 years ago
js initial commit 9 years ago
pangea test 9 years ago
peggy m_pnacl 9 years ago
prices many changes 9 years ago
tools test 9 years ago
tradebots m_pnacl 9 years ago
widget T356 - Iguana Widget Beta Version initial commit 9 years ago
win Fixed win32 and win64 iguana and libcrypto777.a builds 9 years ago
.gitignore test 9 years ago
README.md test 9 years ago
chrome_extension.sh Build chrome extension 9 years ago
field.html test 9 years ago
footer.html test 9 years ago
formfooter.html test 9 years ago
formheader.html test 9 years ago
header.html test 9 years ago
index.html initial commit 9 years ago
m_android Android compilation scripts added 9 years ago
m_clean m_clean 9 years ago
m_ios iOS platform files and compile scripts 9 years ago
m_onetime m_pnacl 9 years ago
m_onetime_android Android compilation scripts added 9 years ago
m_osx m_clean 9 years ago
m_pnacl m_pnacl 9 years ago
m_ramchain test 9 years ago
m_unix transition 9 years ago
m_win32 Fixed path for windows builds 9 years ago
m_win64 m_clean 9 years ago
mingw.path Fixed path for windows build 9 years ago
mingw.path64 Fixed win32 and win64 iguana and libcrypto777.a builds 9 years ago
pnacl.pem Build chrome extension 9 years ago
pnacl_main.h test 9 years ago

README.md

#SuperNET Client "iguana"

Join the chat at https://gitter.im/jl777/SuperNET

#TL;DR#

sudo apt-get update; sudo apt-get install libcurl4-gnutls-dev libssl-dev; git clone https://github.com/jl777/SuperNET; cd SuperNET; ./m_onetime m_unix; ./m_unix; agents/iguana

The above one line gets SuperNET installed, built and launched for unix.

After that ./m_unix updates to latest. Continue below at "Running".

iguana is easy to build. Start by cloning (or downloading) this repository.

#DEPENDENCIES# ##for native (unix, osx)## Just make sure you have the dev versions of openssl and curl installed:

sudo apt-get install libcurl4-gnutls-dev libssl-dev

##For native (win32, win64)## TOOL_DIR := /usr/local/gcc-4.8.0-qt-4.8.4-for-mingw32/win32-gcc/bin MINGW := i586-mingw32 The above two definitions need to be changed to match the mingw install on your system. m_win32 and m_win64 just invokes the makefile in mingw32 and mingw64

##For chrome app## You need to make sure the nacl sdk is properly installed and you are able to build the examples. Now you will need to get the external libs, which can be built from scratch using naclports or there use the reference builds of libssl.a, libcrypto.a, libcurl.a and libz.a in the SuperNET/crypto777/pnacl_libs. You can just copy those over into $(NACL_SDK_ROOT)/<pepper_dir>/lib/pnacl.

#ONETIME# Now you are ready to build. I try to make the build process as simple as possible, so there are no autoconf, autoreconf, configure, cmake, make, to get properly installed and running and run, etc. You do need a C compiler, like gcc.

The first time you need to build libcrypto777.a and to do that you need to run:

For unix: ./m_onetime m_unix

For osx: ./m_onetime m_osx

For win32: ./m_onetime m_win32

For win64: ./m_onetime m_win64

#(RE)BUILD

Once libcrypto777.a is built, you can build the agents.

For pnacl: cd crypto777; make clean; make; cd ../iguana; make clean; make

For unix: ./m_unix

For osx: ./m_osx

For win32: ./m_win32

For win64: ./m_win64

The m_(OS) is a standard I follow and should be self explanatory. within each is usually just a few lines, ie compile all the .c files and link with the standard libs.

To build just iguana, you can cd into SuperNET/iguana and do ./m_unix (or ./m_osx, ...).

./m_clean will remove the files created from the building

#RUNNING#

The native versions are command line applications: agents/iguana {JSON} The chrome app pexe requires that the chrome is launched with a command line parameter (tools/chrome.localhost) and then browse to http://127.0.0.1:7777 to see the pexe

#SUPERUGLYGUI#

Once iguana is running, you can see the superuglyGUI at http://127.0.0.1:7778/?method by submitting API calls using the forms, you will see it go to some specific URL. You can also do a programmatic GET request to http://127.0.0.1:7778/api/<path to apicall>

http://127.0.0.1:7778/ramchain/block/height/0 -> full webpage

http://127.0.0.1:7778/json/ramchain/block/height/0 -> JSON only

curl --url "http://127.0.0.1:7778/ramchain/BTCD/block/height/0" --> full webpage returned (probably not what you want) curl --url "http://127.0.0.1:7778/api/ramchain/BTCD/block/height/0" --> returns just the json object from the api call

Internally, all paths convert the request into a standard SuperNET JSON request. you can use a POST command to directly submit such JSON requests: curl --url "http://127.0.0.1:7778" --data "{\"agent\":\"ramchain\",\"method\":\"block\",\"coin\":\"BTCD\",\"height\":0}"

Another approach is to use the bitcoin RPC syntax via: curl --url "http://127.0.0.1:7778" --data "{"coin":"BTCD","method":"getinfo","params":[]}" the params:[] array is where the standard bitcoin parameters go, the only change that is needed is to specify the coin alternatively {"agent":"SuperNET","method":"bitcoinrpc","coin":"BTCD"} will set the coin to use for bitcoin RPC calls. this will suffice in single coin environments

curl --url "http://127.0.0.1:7778" --data "{"agent":"iguana","method":"test"}" curl --url "http://127.0.0.1:7778/iguana/test" -> html page with results curl --url "http://127.0.0.1:7778/api/iguana/test" -> just json text http://127.0.0.1:7778 -> superugly GUI http://127.0.0.1:7778/iguana/test http://127.0.0.1:7778/api/iguana/test postCall('{"agent":"iguana","method":"test"}'} iguana_JSON("{"agent":"iguana","method":"test"}"); -> direct C function call

iguana can be invoked with a command line argument. if it is a name of a file, it will load it and check to see if it is valid JSON and if it is, it will use it. Otherwise the command line argument needs to be valid JSON to be used and it will process the JSON to initialize account passphrases, exchange apikeys, etc. A few special keys:

"wallet" -> passphrase used for the persistent privkey "2fafile" -> secondary part (optional) for the persistent privkey "numhelpers" -> number of helper threads (need at least 1) "exchanges" -> { "name":"", ... } "apikey", "apisecret", "userid", "tradepassword" these are as expected "pollgap" -> gap between each access to exchange for getting prices