diff options
author | chriseth <c@ethdev.com> | 2015-12-10 19:22:53 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2015-12-10 19:22:53 +0800 |
commit | 3ce73e0bd34f1de8874e39ee6511b72728b869ed (patch) | |
tree | cca187aba83c2e9951706d2e62ec852ced8f03ac /docs | |
parent | b344bbac5d7156562e9fed4beee08efa43f2c9b8 (diff) | |
download | dexon-solidity-3ce73e0bd34f1de8874e39ee6511b72728b869ed.tar.gz dexon-solidity-3ce73e0bd34f1de8874e39ee6511b72728b869ed.tar.zst dexon-solidity-3ce73e0bd34f1de8874e39ee6511b72728b869ed.zip |
Added build guide.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/for_Ze_Devs.md | 42 | ||||
-rw-r--r-- | docs/installing-solidity.rst | 140 |
2 files changed, 140 insertions, 42 deletions
diff --git a/docs/for_Ze_Devs.md b/docs/for_Ze_Devs.md deleted file mode 100644 index 2e223175..00000000 --- a/docs/for_Ze_Devs.md +++ /dev/null @@ -1,42 +0,0 @@ -### Preparing for Compiler Development on OS X - -# Requirements -- OS X Yosemite (10.10.5) -- Homebrew -- Xcode - -# Set up Homebrew -``` -brew update -brew install boost --c++11 # this takes a while -brew install cmake cryptopp miniupnpc leveldb gmp libmicrohttpd libjson-rpc-cpp -#for Mix IDE and Alethzero only -brew install xz d-bus -brew install llvm --HEAD --with-clang -brew install qt5 --with-d-bus # add --verbose if long waits with a stale screen drive you crazy as well -``` - -# The Long Wait - -Run this if you plan on installing solidity only, ignore errors at the end as they relate only to Alethzero and Mix -``` -git clone --recursive https://github.com/ethereum/webthree-umbrella.git -webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project solidity #update solidity repo -./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --all --cores 4 #install solidity -``` -if you opted to install Alethzero and Mix: -``` -git clone --recursive https://github.com/ethereum/webthree-umbrella.git -cd webthree-umbrella && mkdir -p build && cd build -cmake .. -``` - -# Bringing it all together -clone your forked repo, then: - -``` -cd ~/webthree-helpers/solidity -mv build ../../yourForkedRepo -``` - -you are now ready to develop :) diff --git a/docs/installing-solidity.rst b/docs/installing-solidity.rst new file mode 100644 index 00000000..83c7ac18 --- /dev/null +++ b/docs/installing-solidity.rst @@ -0,0 +1,140 @@ +################### +Installing Solidity +################### + +Browser-Solidity +================ + +If you just want to try Solidity for small contracts, you +can try `browser-solidity <https://chriseth.github.io/browser-solidity>`_ +which does not need any installation. If you want to use it +without connection to the Internet, you can also just save the page +locally or clone http://github.com/chriseth/browser-solidity. + +NPM / node.js +============= + +This is probably the most portable and most convenient way to install Solidity locally. + +A platform-independent JavaScript library is provided by compiling the C++ source +into JavaScript using Emscripten for browser-solidity and there is also an NPM +package available. + +To install it, simply use + +:: + + npm install solc + +Details about the usage of the nodejs package can be found in the +`repository <https://github.com/chriseth/browser-solidity#nodejs-usage>`_. + +Binary Packages +=============== + +Binary packages of Solidity together with its IDE Mix are available through +the `C++ bundle <https://github.com/ethereum/webthree-umbrella/releases>`_ of +Ethereum. + +Building from Source +==================== + +Building Solidity is quite similar on MacOS X, Ubuntu and probably other Unices. +This guide starts explaining how to install the dependencies for each platform +and then shows how to build Solidity itself. + +MacOS X +------- + + +Requirements: + +- OS X Yosemite (10.10.5) +- Homebrew +- Xcode + +Set up Homebrew: + +.. code-block:: bash + + brew update + brew install boost --c++11 # this takes a while + brew install cmake cryptopp miniupnpc leveldb gmp libmicrohttpd libjson-rpc-cpp + # For Mix IDE and Alethzero only + brew install xz d-bus + brew install llvm --HEAD --with-clang + brew install qt5 --with-d-bus # add --verbose if long waits with a stale screen drive you crazy as well + +Ubuntu +------ + +Below are the build instructions for the latest versions of Ubuntu. The best +supported platform as of December 2014 is Ubuntu 14.04, 64 bit, with at least 2 +GB RAM. All our tests are done with this version. Community contributions for +other versions are welcome! + +Install dependencies: + +Before you can build the source, you need several tools and dependencies for the application to get started. + +First, update your repositories. Not all packages are provided in the main +Ubuntu repository, those you'll get from the Ethereum PPA and the LLVM archive. + +.. note:: + + Ubuntu 14.04 users, you'll need the latest version of cmake. For this, use: + `sudo apt-add-repository ppa:george-edison55/cmake-3.x` + +Now add all the rest: + +.. code-block:: bash + + 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 + +Use the following command to add the develop packages: + +.. code-block:: bash + + 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 + +Building +-------- + +Run this if you plan on installing Solidity only, ignore errors at the end as +they relate only to Alethzero and Mix + +.. code-block:: bash + + git clone --recursive https://github.com/ethereum/webthree-umbrella.git + cd webthree-umbrella + ./webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project solidity # update Solidity repo + ./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --all --cores 4 # build Solidity + +If you opted to install Alethzero and Mix: + +.. code-block:: bash + + git clone --recursive https://github.com/ethereum/webthree-umbrella.git + cd webthree-umbrella && mkdir -p build && cd build + cmake .. + +If you want to help developing Solidity, +you should fork Solidity and add your personal fork as a second remote: + +.. code-block:: bash + + cd webthree-umbrella/solidity + git remote add personal git@github.com:username/solidity.git + +Note that webthree-umbrella uses submodules, so solidity is its own git +repository, but its settings are not stored in `.git/config`, but in +`webthree-umbrella/.git/modules/solidity/config`. + + |