以太坊(https://ethereum.org)是一個開放的開源區塊鏈(技術原理與發展趨勢,區塊鏈相關術語)軟件,能夠實現無中心體系架構下的應用開發。html
下面咱們介紹在Docker中部署以太坊的方法(參見以太坊安裝方法),而後使用Jupyter Notebook進行基於瀏覽器的訪問。一旦環境設置完畢,就能夠在不少環境下部署Docker容器,使用很是方便。Jupyter Notebook是基於瀏覽器的編程「筆記本」,很是適合進行數據探索類的研究。node
我用的Mac OS X,如今的Docker已經原生支持了,不用像之前要安裝VirtualBox,再使用Vagrant了。
到這裏http://www.docker.io下載相應的版本,而後運行安裝程序,就能夠了。python
若是使用Ubuntu,建議使用 http://get.docker.io下載的腳本進行安裝,官方的安裝方法貌似與Ubuntu內置的lxd有衝突,常常出問題。方法以下:linux
wget http://get.docker.io -O docker-setup.sh sudo chmod +x docker-setup.sh ./docker-setup.sh
採用Jupyter的官方Docker技術棧。git
docker run -it --name GISpark -p 9000:8888 --user root -e GRANT_SUDO=yes -v /本地目錄/GISpark:/home/jovyan/work/GISpark jupyter/all-spark-notebook
打開瀏覽器,輸入:http://localhost:9000。github
在裏面打開一個終端窗口,運行升級程序,安裝須要的軟件:golang
sudo apt-get update sudo apt-get upgrade sudo apt-get install python3-dev
而後,就能夠打開終端窗口,在Ubuntu上直接安裝以太坊軟件,參見:http://www.javashuo.com/article/p-dslcsakq-et.html。docker
因爲這個鏡像的基礎環境是基於Ubuntu 14.04的,所以Nodejs和go的版本比較老,沒法安裝Ethereum。下面咱們手工安裝這兩個軟件的新版本,就能夠了。編程
下載並展開到目錄。api
wget https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz tar -vxf go1.6.linux-amd64.tar.gz
而後,修改/etc/profile文件,把這個文件拷貝過來到本地目錄,以便於修改:
cp /etc/profile .
修改文件,加入下面幾行,設置go語言的環境變量:
export GOROOT=/home/jovyan/work/go export GOBIN=/home/jovyan/work/go/bin export PATH=$PATH:$GOBIN
而後把profile文件拷貝回去,運行source使其生效。
cp profile /etc source profile
而後:
go go env go version
若是顯示正常的信息,go運行時就設置成功了。
sudo apt-get update sudo apt-get install -y python-software-properties software-properties-common #若是按照一些攻略誤安裝了chris-lea-node_js,必定要刪掉,方法以下: #sudo rm -f /etc/apt/sources.list.d/chris-lea-node_js-*.list #獲取新的源,可選版本,目前實驗能夠用: #curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get update sudo apt-get install nodejs
按照正常的PPA安裝,會出現找不到安裝源的錯誤(沒有提供Ubuntu14.04-jessie的編譯好的源)。 那就自力更生,本身編譯。首先獲取源代碼:
sudo apt-get install -y build-essential libgmp3-dev golang git clone https://github.com/ethereum/go-ethereum cd go-ethereum make geth
而後,按照提示,運行:/build/bin/geth。正常狀況下,能夠看到運行的結果。
按照上面的安裝,Ethereum的區塊鏈數據會放到Docker容器的內部存儲中。咱們能夠設置將其放到Docker映射的宿主機目錄卷,以方便管理和共享。