From 13a4518b945f569d0db8f30965e9c2d8024ba28b Mon Sep 17 00:00:00 2001 From: Artem Pikulin Date: Fri, 13 Apr 2018 18:57:30 +0700 Subject: [PATCH] Add scripts to perform swaps via docker-compose for Jenkins. --- .dockerignore | 3 +++ Dockerfile.clientnode | 7 ++++++ Dockerfile.seednode | 7 ++++++ docker-compose.yml | 37 ++++++++++++++++++++++++++++++ etomic_build/client | 5 ---- etomic_build/client1/buy_BEER_ETH | 4 ++++ etomic_build/client1/client | 4 ++++ etomic_build/client1/enable | 6 +++++ etomic_build/client1/passphrase | 1 + etomic_build/client1/setpassphrase | 4 ++++ etomic_build/client1/userpass | 2 ++ etomic_build/passphrase | 1 - etomic_build/run | 5 ---- etomic_build/seed/enable | 6 +++++ etomic_build/seed/myipaddr | 1 + etomic_build/seed/passphrase | 1 + etomic_build/seed/run | 4 ++++ etomic_build/seed/sell_BEER_ETH | 4 ++++ etomic_build/seed/setpassphrase | 4 ++++ etomic_build/seed/userpass | 2 ++ iguana/exchanges/LP_nativeDEX.c | 6 ++--- start_BEER_ETH_trade.sh | 12 ++++++++++ 22 files changed, 112 insertions(+), 14 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile.clientnode create mode 100644 Dockerfile.seednode create mode 100644 docker-compose.yml delete mode 100755 etomic_build/client create mode 100755 etomic_build/client1/buy_BEER_ETH create mode 100755 etomic_build/client1/client create mode 100755 etomic_build/client1/enable create mode 100644 etomic_build/client1/passphrase create mode 100755 etomic_build/client1/setpassphrase create mode 100644 etomic_build/client1/userpass delete mode 100644 etomic_build/passphrase delete mode 100755 etomic_build/run create mode 100755 etomic_build/seed/enable create mode 100644 etomic_build/seed/myipaddr create mode 100644 etomic_build/seed/passphrase create mode 100755 etomic_build/seed/run create mode 100755 etomic_build/seed/sell_BEER_ETH create mode 100755 etomic_build/seed/setpassphrase create mode 100644 etomic_build/seed/userpass create mode 100755 start_BEER_ETH_trade.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..128c6ac20 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.git +.vscode +cmake-build-debug \ No newline at end of file diff --git a/Dockerfile.clientnode b/Dockerfile.clientnode new file mode 100644 index 000000000..80c218661 --- /dev/null +++ b/Dockerfile.clientnode @@ -0,0 +1,7 @@ +FROM ubuntu:17.10 +USER root +RUN apt-get update && apt-get install -y rinetd curl libcurl3-gnutls +RUN echo "0.0.0.0 10271 10.100.0.1 10271" >> /etc/rinetd.conf +RUN echo "0.0.0.0 8923 10.100.0.1 8923" >> /etc/rinetd.conf +WORKDIR /usr/mm/etomic_build/client +CMD /usr/sbin/rinetd && rm -rf DB && ./client \ No newline at end of file diff --git a/Dockerfile.seednode b/Dockerfile.seednode new file mode 100644 index 000000000..8aca382f6 --- /dev/null +++ b/Dockerfile.seednode @@ -0,0 +1,7 @@ +FROM ubuntu:17.10 +USER root +RUN apt-get update && apt-get install -y rinetd curl libcurl3-gnutls +RUN echo "0.0.0.0 10271 10.100.0.1 10271" >> /etc/rinetd.conf +RUN echo "0.0.0.0 8923 10.100.0.1 8923" >> /etc/rinetd.conf +WORKDIR /usr/mm/etomic_build/seed +CMD /usr/sbin/rinetd && rm -rf DB && ./run diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..d48bcff7e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,37 @@ +version: '2' +services: + seednode: + build: + context: ./ + dockerfile: Dockerfile.seednode + volumes: + - ~/.zcash-params:/root/.zcash-params + - ~/.komodo:/root/.komodo + - .:/usr/mm + tty: true + networks: + default: + ipv4_address: 10.100.0.2 + + clientnode: + build: + context: ./ + dockerfile: Dockerfile.clientnode + volumes: + - ~/.zcash-params:/root/.zcash-params + - ~/.komodo:/root/.komodo + - .:/usr/mm + links: + - seednode + tty: true + networks: + default: + ipv4_address: 10.100.0.3 + +networks: + default: + driver: bridge + ipam: + config: + - subnet: 10.100.0.0/16 + gateway: 10.100.0.1 \ No newline at end of file diff --git a/etomic_build/client b/etomic_build/client deleted file mode 100755 index fb4f0c935..000000000 --- a/etomic_build/client +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -source passphrase -source coins -./stop -iguana/exchanges/marketmaker "{\"netid\":9999,\"seednode\":\"5.9.253.204\",\"gui\":\"nogui\",\"client\":1, \"userhome\":\"/${HOME#"/"}\", \"passphrase\":\"$passphrase\", \"coins\":$coins}" & diff --git a/etomic_build/client1/buy_BEER_ETH b/etomic_build/client1/buy_BEER_ETH new file mode 100755 index 000000000..3fd43cf77 --- /dev/null +++ b/etomic_build/client1/buy_BEER_ETH @@ -0,0 +1,4 @@ +#!/bin/bash +source userpass +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"setprice\",\"base\":\"ETH\",\"rel\":\"BEER\",\"price\":1}" +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"sell\",\"base\":\"ETH\",\"rel\":\"BEER\",\"basevolume\":0.1,\"price\":1}" \ No newline at end of file diff --git a/etomic_build/client1/client b/etomic_build/client1/client new file mode 100755 index 000000000..22f5c462e --- /dev/null +++ b/etomic_build/client1/client @@ -0,0 +1,4 @@ +#!/bin/bash +source passphrase +source ../coins +../../build/iguana/exchanges/marketmaker-testnet "{\"netid\":9999,\"seednode\":\"10.100.0.2\",\"gui\":\"nogui\",\"client\":1, \"userhome\":\"/${HOME#"/"}\", \"passphrase\":\"$passphrase\", \"coins\":$coins}" diff --git a/etomic_build/client1/enable b/etomic_build/client1/enable new file mode 100755 index 000000000..8c9bfe2f4 --- /dev/null +++ b/etomic_build/client1/enable @@ -0,0 +1,6 @@ +#!/bin/bash +source userpass +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"enable\",\"coin\":\"ETH\"}" +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"enable\",\"coin\":\"KMD\"}" +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"enable\",\"coin\":\"ETOMIC\"}" +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"enable\",\"coin\":\"BEER\"}" diff --git a/etomic_build/client1/passphrase b/etomic_build/client1/passphrase new file mode 100644 index 000000000..d54ee899d --- /dev/null +++ b/etomic_build/client1/passphrase @@ -0,0 +1 @@ +export passphrase="$PASSPHRASE" diff --git a/etomic_build/client1/setpassphrase b/etomic_build/client1/setpassphrase new file mode 100755 index 000000000..81cc0b28f --- /dev/null +++ b/etomic_build/client1/setpassphrase @@ -0,0 +1,4 @@ +#!/bin/bash +source userpass +source passphrase +curl --url "http://127.0.0.1:7783" --data "{\"netid\":9999,\"seednode\":\"10.100.0.2\",\"userpass\":\"1d8b27b21efabcd96571cd56f91a40fb9aa4cc623d273c63bf9223dc6f8cd81f\",\"method\":\"passphrase\",\"passphrase\":\"$passphrase\",\"gui\":\"nogui\"}" diff --git a/etomic_build/client1/userpass b/etomic_build/client1/userpass new file mode 100644 index 000000000..19fc21189 --- /dev/null +++ b/etomic_build/client1/userpass @@ -0,0 +1,2 @@ +#export userpass="" +export userpass="$USERPASS" diff --git a/etomic_build/passphrase b/etomic_build/passphrase deleted file mode 100644 index eb00095d6..000000000 --- a/etomic_build/passphrase +++ /dev/null @@ -1 +0,0 @@ -export passphrase="" diff --git a/etomic_build/run b/etomic_build/run deleted file mode 100755 index b757bb993..000000000 --- a/etomic_build/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -source passphrase -source coins -./stop - $1 iguana/exchanges/marketmaker "{\"netid\":9999,\"gui\":\"nogui\", \"profitmargin\":0.01, \"userhome\":\"/${HOME#"/"}\", \"passphrase\":\"$passphrase\", \"coins\":$coins}" & diff --git a/etomic_build/seed/enable b/etomic_build/seed/enable new file mode 100755 index 000000000..8c9bfe2f4 --- /dev/null +++ b/etomic_build/seed/enable @@ -0,0 +1,6 @@ +#!/bin/bash +source userpass +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"enable\",\"coin\":\"ETH\"}" +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"enable\",\"coin\":\"KMD\"}" +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"enable\",\"coin\":\"ETOMIC\"}" +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"enable\",\"coin\":\"BEER\"}" diff --git a/etomic_build/seed/myipaddr b/etomic_build/seed/myipaddr new file mode 100644 index 000000000..da7788dc2 --- /dev/null +++ b/etomic_build/seed/myipaddr @@ -0,0 +1 @@ +10.100.0.2 diff --git a/etomic_build/seed/passphrase b/etomic_build/seed/passphrase new file mode 100644 index 000000000..d54ee899d --- /dev/null +++ b/etomic_build/seed/passphrase @@ -0,0 +1 @@ +export passphrase="$PASSPHRASE" diff --git a/etomic_build/seed/run b/etomic_build/seed/run new file mode 100755 index 000000000..96ceba6ca --- /dev/null +++ b/etomic_build/seed/run @@ -0,0 +1,4 @@ +#!/bin/bash +source passphrase +source ../coins +../../build/iguana/exchanges/marketmaker-testnet "{\"netid\":9999,\"gui\":\"nogui\", \"profitmargin\":0.01, \"userhome\":\"/${HOME#"/"}\", \"passphrase\":\"$passphrase\", \"coins\":$coins}" diff --git a/etomic_build/seed/sell_BEER_ETH b/etomic_build/seed/sell_BEER_ETH new file mode 100755 index 000000000..90b0e6073 --- /dev/null +++ b/etomic_build/seed/sell_BEER_ETH @@ -0,0 +1,4 @@ +#!/bin/bash +source userpass +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"setprice\",\"base\":\"BEER\",\"rel\":\"ETH\",\"price\":0.9}" +curl --url "http://127.0.0.1:7783" --data "{\"userpass\":\"$userpass\",\"method\":\"sell\",\"base\":\"BEER\",\"rel\":\"ETH\",\"basevolume\":0.1,\"price\":0.9}" \ No newline at end of file diff --git a/etomic_build/seed/setpassphrase b/etomic_build/seed/setpassphrase new file mode 100755 index 000000000..b3df81427 --- /dev/null +++ b/etomic_build/seed/setpassphrase @@ -0,0 +1,4 @@ +#!/bin/bash +source userpass +source passphrase +curl --url "http://127.0.0.1:7783" --data "{\"netid\":9999,\"seednode\":\"5.9.253.204\",\"userpass\":\"1d8b27b21efabcd96571cd56f91a40fb9aa4cc623d273c63bf9223dc6f8cd81f\",\"method\":\"passphrase\",\"passphrase\":\"$passphrase\",\"gui\":\"nogui\"}" diff --git a/etomic_build/seed/userpass b/etomic_build/seed/userpass new file mode 100644 index 000000000..19fc21189 --- /dev/null +++ b/etomic_build/seed/userpass @@ -0,0 +1,2 @@ +#export userpass="" +export userpass="$USERPASS" diff --git a/iguana/exchanges/LP_nativeDEX.c b/iguana/exchanges/LP_nativeDEX.c index 03e6b0ec4..dc5f59a3a 100644 --- a/iguana/exchanges/LP_nativeDEX.c +++ b/iguana/exchanges/LP_nativeDEX.c @@ -1381,10 +1381,10 @@ void LPinit(uint16_t myport,uint16_t mypullport,uint16_t mypubport,uint16_t mybu myipaddr = clonestr("127.0.0.1"); #ifndef _WIN32 #ifndef FROM_JS - if ( system("curl -s4 checkip.amazonaws.com > myipaddr") == 0 ) + char ipfname[64]; + strcpy(ipfname,"myipaddr"); + if ( access( ipfname, F_OK ) != -1 || system("curl -s4 checkip.amazonaws.com > myipaddr") == 0 ) { - char ipfname[64]; - strcpy(ipfname,"myipaddr"); if ( (myipaddr= OS_filestr(&filesize,ipfname)) != 0 && myipaddr[0] != 0 ) { n = strlen(myipaddr); diff --git a/start_BEER_ETH_trade.sh b/start_BEER_ETH_trade.sh new file mode 100755 index 000000000..fec9dc369 --- /dev/null +++ b/start_BEER_ETH_trade.sh @@ -0,0 +1,12 @@ +#!/bin/bash +docker-compose exec clientnode ./setpassphrase +sleep 1 +docker-compose exec clientnode ./enable +sleep 1 +docker-compose exec seednode ./setpassphrase +sleep 1 +docker-compose exec seednode ./enable +sleep 1 +docker-compose exec seednode ./sell_BEER_ETH +sleep 3 +docker-compose exec clientnode ./buy_BEER_ETH \ No newline at end of file