Solidity 文档--第二章:安装 Solidity

简介: Solidity 文档--第二章:安装 Solidity

安装Solidity

基于浏览器的Solidity

如果你只是想尝试一个使用Solidity的小合约,你不需要安装任何东西,只要访问基于浏览器的Solidity

如果你想离线使用,你可以保存页面到本地,或者从 http://github.com/chriseth/browser-solidity 克隆一个。

NPM / node.js

这可能安装Solidity到本地最轻便最省事的方法。

在基于浏览器的Solidity上,Emscripten提供了一个跨平台JavaScript库,把C++源码编译为JavaScript,同时也提供NPM安装包。

去安装它就可以简单使用。

npm install solc• 1

如何使用nodejs包的详细信息可以在代码库中找到。

二进制安装包

包括Mix IDE的二进制Solidity安装包在Ethereum网站C++ bundle中下载。

从源码构建

在MacOS X、Ubuntu和其它类Unix系统中编译安装Solidity非常相似。这个指南开始讲解如何在每个平台下安装相关的依赖软件,然后构建Solidity。

MacOS X

MACOS X系统

系统需求:

- OS X Yosemite (10.10.5)

- Homebrew

- Xcode

安装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          # 如果长时间的等待让你发疯,那么添加--verbose输出信息会让你感觉更好。

Ubuntu系统

下面是在最新版Ubuntu系统上编译安装Solidity的指南。最佳的支持平台是2014年11月发布的64位Ubuntu 14.04,至少需要2GB内存。我们所有的测试都是基于此版本,当然我们也欢迎其它版本的测试贡献者。

安装依赖软件:

在你从源码编译之前,你需要准备一些工具和依赖软件。

首先,升级你的代码库。Ubuntu主代码库不提供所有的包,你需要从Ethereum PPA和LLVM获取。

注意Ubuntu 14.04的用户需要使用:sudo apt-add-repository ppa:george-edison55/cmake-3.x获取最新版本的cmake。

现在加入其它的包:

    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)或者更老版本,使用下面的命令获取开发相关的包:

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• 1

对于Ubbuntu 15.10(Wily Werewolf)或者更新版本,使用下面的命令获取开发相关的包:

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• 1

不同版本使用不同获取命令的原因是,libjsonrpccpp-dev已经在最新版的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系统加上DEVMJIT将不能编译,在Linux系统上则没问题

如果你选择安装Alethzero和Mix:

git clone --recursive https://github.com/ethereum/webthree-umbrella.git
    cd webthree-umbrella && mkdir -p build && cd build
    cmake ..• 1
• 2
• 3

如果你想帮助Solidity的开发,你需要分支(fork)Solidity并添加到你的私人远端分支:

注意webthree-umbrella使用子模块,所以solidity是其自己的git代码库,但是他的设置不是保存在 .git/config, 而是在webthree-umbrella/.git/modules/solidity/config


原文:https://solidity.readthedocs.org/en/latest/installing-solidity.html

译者: @abao

校对: @shaoping

目录
相关文章
|
存储 JavaScript 前端开发
Solidity 开发环境搭建
Solidity 开发环境搭建
Solidity 开发环境搭建
|
编译器 区块链
|
区块链 编译器
以太坊Truffle框架如何修改solidity版本?
当使用truffle开发以太坊solidity合约时,经常碰到的一个问题,就是你的solidity合约代码所要求的编译器版本,与truffle预装的solitiy编译器版本不匹配。本文将介绍如何更改truffle中的solidity版本。
1841 0
|
Web App开发 IDE 区块链
Solidity番外篇(一)Solidity在线or插件使用
Solidity番外篇(一)Solidity在线or插件使用
187 0
Solidity番外篇(一)Solidity在线or插件使用
|
数据安全/隐私保护
Solidity 文档--第三章:Solidity 编程实例
Solidity 文档--第三章:Solidity 编程实例
93 0
|
存储 安全 程序员
Solidity 文档--第一章:智能合约入门
Solidity 文档--第一章:智能合约入门
335 0
|
JavaScript 安全 前端开发
Solidity 文档--目录
Solidity 文档--目录
97 0
|
JavaScript 前端开发 IDE
ETH之Solidity:Solidity的简介、安装、使用方法之详细攻略
ETH之Solidity:Solidity的简介、安装、使用方法之详细攻略
|
存储 区块链 索引
Solidity -- CryptoZombies 学习笔记2
第1章 第2章: 映射(Mapping)和地址(Address) Addresses (地址) 以太坊区块链由 account (账户)组成,你可以把它想象成银行账户。
1190 0
|
前端开发 区块链
Solidity -- CryptoZombies 学习笔记1
相关:https://cryptozombies.iohttp://wiki.jikexueyuan.com/project/solidity-zh/ 第一章: 课程概述 第二章: 合约 从最基本的开始入手: Solidity 的代码都包裹在合约里面.
1455 0