如果你只是想嘗試一個使用Solidity的小合約,你不需要安裝任何東西,只要訪問 基于瀏覽器的Solidity。
如果你想離線使用,你可以保存頁面到本地,或者從 http://github.com/chriseth/browser-solidity?克隆一個。
這可能安裝Solidity到本地最輕便最省事的方法。
在基于瀏覽器的Solidity上,Emscripten提供了一個跨平臺JavaScript庫,把C++源碼編譯為JavaScript,同時也提供NPM安裝包。
去安裝它就可以簡單使用。,
npm install solc
如何使用nodejs包的詳細信息可以在代碼庫中找到.
包括Mix IDE的二進制Solidity安裝包在Ethereum網(wǎng)站C++ bundle中下載。?
在MacOS X、Ubuntu和其它類Unix系統(tǒng)中編譯安裝Solidity非常相似。這個指南開始講解如何在每個平臺下安裝相關(guān)的依賴軟件,然后構(gòu)建Solidity。
系統(tǒng)需求:
OS X Yosemite (10.10.5)
Homebrew
安裝Homebrew:
brew update
brew install boost --c++11 # 這需要等待一段時間
brew install cmake cryptopp miniupnpc leveldb gmp libmicrohttpd libjson-rpc-cpp
# 僅僅安裝Mix IDE和Alethzero
brew install xz d-bus
brew install llvm --HEAD --with-clang
brew install qt5 --with-d-bus # 如果長時間的等待讓你發(fā)瘋,那么添加--verbose輸出信息會讓你感覺更好。
下面是在最新版Ubuntu系統(tǒng)上編譯安裝Solidity的指南。最佳的支持平臺是2014年11月發(fā)布的64位Ubuntu 14.04,至少需要2GB內(nèi)存。我們所有的測試都是基于此版本,當然我們也歡迎其它版本的測試貢獻者。
在你從源碼編譯之前,你需要準備一些工具和依賴軟件。
首先,升級你的代碼庫。Ubuntu主代碼庫不提供所有的包,你需要從Ethereum PPA和LLVM獲取。
注意
Ubuntu 14.04的用戶需要使用:sudo apt-add-repository ppa:george-edison55/cmake-3.x獲取最新版本的cmake。
現(xiàn)在加入其它的包:
sudo apt-get -y update
sudo apt-get -y install language-pack-en-base
sudo dpkg-reconfigure locales
sudo apt-get -y install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get -y update
sudo apt-get -y upgrade
對于Ubbuntu 15.04(Vivid Vervet)或者更老版本,使用下面的命令獲取開發(fā)相關(guān)的包:
sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcryptopp-dev libjson-rpc-cpp-dev libmicrohttpd-dev libjsoncpp-dev libedit-dev libz-dev
對于Ubbuntu 15.10(Wily Werewolf)或者更新版本,使用下面的命令獲取開發(fā)相關(guān)的包:
sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcryptopp-dev libjsonrpccpp-dev libmicrohttpd-dev libjsoncpp-dev libedit-dev libz-dev
不同版本使用不同獲取命令的原因是,libjsonrpccpp-dev已經(jīng)在最新版的Ubuntu的通用代碼倉庫中。
如果你只準備安裝solidity,忽略末尾Alethzero和Mix的錯誤。
git clone --recursive https://github.com/ethereum/webthree-umbrella.git
cd webthree-umbrella
./webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project solidity
# 更新Solidity庫
./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --all --cores 4 -DEVMJIT=0
# 編譯Solidity及其它
# 在OS X系統(tǒng)加上DEVMJIT將不能編譯,在Linux系統(tǒng)上則沒問題
如果你選擇安裝Alethzero和Mix:
git clone --recursive https://github.com/ethereum/webthree-umbrella.git
cd webthree-umbrella && mkdir -p build && cd build
cmake ..
如果你想幫助Solidity的開發(fā),你需要分支(fork)Solidity并添加到你的私人遠端分支:
cd webthree-umbrella/solidity
git remote add personal git@github.com:username/solidity.git
注意webthree-umbrella使用的子模塊,所以solidity是其自己的git代碼庫,但是他的設(shè)置不是保存在 .git/config, 而是在webthree-umbrella/.git/modules/solidity/config.