From d3d1bce4c2a9308bf3adc97628df4fca6cf06891 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Tue, 2 Oct 2018 20:51:19 -0700 Subject: [PATCH] feat: add solana-localnet program --- web3.js/.package.json.swo | Bin 0 -> 12288 bytes web3.js/.travis.yml | 10 ++++- web3.js/README.md | 26 ++++++++++- web3.js/bin/localnet.sh | 88 +++++++++++++++++++++++++++++++++++++ web3.js/examples/README.md | 9 +++- web3.js/package.json | 7 +++ 6 files changed, 137 insertions(+), 3 deletions(-) create mode 100644 web3.js/.package.json.swo create mode 100755 web3.js/bin/localnet.sh diff --git a/web3.js/.package.json.swo b/web3.js/.package.json.swo new file mode 100644 index 0000000000000000000000000000000000000000..dc043302b9701d32b91b25b12cae5b715365b885 GIT binary patch literal 12288 zcmeHNOK%)S5blIW2q6$9;si*|fMOt-S?@Y_oDGp2#gQ;_Udn?*j8X4Q@9x<1Vjf;Q zCcptM+;}8E03iVf;6lz3h!Y1uATCHC!GT=3aX>i`@m2TCdc3w1l3S#4^l4|itE;QN zs;(M4-5NeOb&QW&b%viEjD36H%kwYn+_KsHnlXRD4P-(SH~&dO&+p2)pW%`#lY<|kfm*Nd^;Oy)Q4&DQ^u2g*Uq!I zucum3F;Fp3F;Fp3F;Fp3F;Fp3F;FpZ*D{bso7fw$esk`D$Uip?eCA)PkBWhcfr^2O zfr^2Ofr^2Ofr^2Ofr^2Ofr^2OfxD0a;V||y?9S*90Qmp^;`jd>k1+N-a22=&ybW9c zT)+WN0>i*I;QGUi{Rw;wd{sAN;8Wlu;1b{iW5A7v7<(T$ z3~U9y+Q!&2&;YJI$k-LY1x^9a06%QSp1=iQ3V0m&=>f(*0FD6HwlMYw@E!0ua2a?L z=mOI~4R{pT0bIWywgFdx_W%J*08aq_+{f5&z&F5Wz-7Pzo(FaTf87fXfiHk}fCxAX zi~|O+4fy*W#=ZwW0p0>$0`>q5_yycw0p10cfgYgZaTn&(Els}2=pW|<&W)Z(?XJ<} z#%$dhwi<>WO{6b^)V0l6dQv1(3yfL^tooR-SIfkq=Vg%@d0EE|%&g}t7Ho{>Un`y#PpH-e9G7=?-OR<9`KuF{-aR#p^TSn~74EXBf(!z3|fu%JCgeixkD z$Y(oLC)hUZ)oTPDPtF)U%(ywf%j(J-aRjpx_ zA~7eHigQi%r+-vh$>=zFHH-8uxfS3(Ts~Yc9dGUK0C$B2aB4%3Gy{XRm78D|ndqir zykusv$2)F10d%vLg&Nb$@9KG?HF$5&f>d6y<)ZK-PmyRKowz9%4{`*V=M&rwipQk( z92`5yosbh*{OMeTMgm#n6w)#h+TtMcIo#zodO^T<@8-ooIA8uowbdz>hx5c-AxK4~ zEJ|ry{+^<|mA~Vt7K+rx#z3Y`FYKsjpl;QQK`ZHUHJ;~8G2YA~N2Ds@2F3H4!39p( zQ{`|_T#XM3XAwC!D2mZS5bienomD;Xp)wcEw!1jQErh-&-1JZ#4{j&G5t(#jX;UJc z6lp5s;7|=z)K=-m(lykYCN$7Q$p8}4XOdgRIPt#5FdDoAV~SElpSsT=$56#Qk5k{6 zXf!CIN-DRiR0s<)DDX`bM;Vi_EmCgP)K?V4nujOL4cZ}pjTdWkRV(Yr&3^6W$4^Wi zedXx!bB9z$ksTnWP>9DYk*8Bf#&N-jQq&LCEfncUZluL?_4~?3N+wTCotd6GcNF2y z4O`cm|KZS@bx4vmVJ#@e+#N)hPM}I4JRH<@!i@OPj4?A4Oon#m%ODl08=@*u^boEl zpE39z9?MrVB=IvdhNW`1m{xa-XN+f2(zN_g5dvK|)(<0^w1YBF`{?&gZuTn!+Q$Z5 zVMcmkL^iHnrm7e%jMb}FDdF(wxh-Xup9RFy5@{Kz0#uG^3{%w14Bb0P z5UOh~dflQW6Q4Q@rLy4*{TjA1YtJRcY|#pZZOcRzzbI>YuB|pvk4g7P7_{9^zFn~Z zU4*vmrfJly)mC~*aqoMBUQ%=4+sn;2 zx}lG*(@|n%JZ+;nr%tHrpdqrf8>+XE)9MyGpGIfg%claJ86eu0f&QK4*wh)d)ysL= zXrV#O+g;)uK7xJ`x!RU_xzr0|he$q8?mJRv05Xqk&UboIEab0`{P4*sy%O1+t<8 literal 0 HcmV?d00001 diff --git a/web3.js/.travis.yml b/web3.js/.travis.yml index 2146072073..71aa10631e 100644 --- a/web3.js/.travis.yml +++ b/web3.js/.travis.yml @@ -1,8 +1,12 @@ +sudo: required language: node_js node_js: - "lts/*" - "node" +services: + - docker + cache: directories: - ~/.npm @@ -14,8 +18,12 @@ script: - npm run doc - npm run flow - npm run lint - - npm run examples - npm run codecov + - npm run localnet:update + - npm run localnet:up + - npm run examples + - npm run test:live + - npm run localnet:down before_deploy: - rm -rf deploy diff --git a/web3.js/README.md b/web3.js/README.md index c122119832..68c46df710 100644 --- a/web3.js/README.md +++ b/web3.js/README.md @@ -68,6 +68,31 @@ console.log(solanaWeb3); console.log(solanaWeb3); ``` +## Local Network +The `solana-localnet` program is provide to easily start a test Solana network +locally on your machine. Docker must be installed. The JSON RPC endpoint of +the local network is `http://localhost:8899`. + +To start, first fetch the latest Docker image by running: +```bash +$ npx solana-localnet update +``` + +Then run the following command to start the network +```bash +$ npx solana-localnet up +``` + +While the network is running logs are available with: +```bash +$ npx solana-localnet logs -f +``` + +Stop the network with: +```bash +$ npx solana-localnet up +``` + ## Flow A [Flow library definition](https://flow.org/en/docs/libdefs/) is provided at @@ -79,7 +104,6 @@ activate it: node_modules/@solana/web3.js/module.flow.js ``` - ## Examples See the [examples/](https://github.com/solana-labs/solana-web3.js/tree/master/examples) directory for small snippets. diff --git a/web3.js/bin/localnet.sh b/web3.js/bin/localnet.sh new file mode 100755 index 0000000000..56c245410e --- /dev/null +++ b/web3.js/bin/localnet.sh @@ -0,0 +1,88 @@ +#!/bin/bash -e + +usage() { + exitcode=0 + if [[ -n "$1" ]]; then + exitcode=1 + echo "Error: $*" + fi + cat <