以太坊所提供的相关的软件介绍

参考书籍《区块链技术进阶与实战》

目录

1. go-ethereum

2. 以太坊钱包(Ethereum Wallet)

 3. browser-solidity(Remix)

4. cpp-ethereum

5. Mix IDE

6. Meteor

7. Truffle


1. go-ethereum

go-ethereum客户端简称为geth,是一个完全的命令行界面,同时也是一个以太坊节点。通过 安装和运行geth,可以实现搭建私有链、挖矿、账户管理、部署智能合约、调用以太坊接口等常 用功能。

下面是geth的常用命令行。命令行组成为geth --<命令>参数。

geth +

--datadir 指定数据存储位置(也是默认的私钥仓库位置)

--nodiscover 标示此节点私有,不被别人添加  

--maxpeers 0 设置网络中可以被接入的最大节点数目,0代表不被其他节点接入

--rpc 允许节点的RPC接口打开(默认打开)

--rpcapi "db,eth,net,web3" 配置RPC接口允许访问的API (默认情况下,RPC接口是允许访 问web3 的API的)

--rpcport "8080" 设置geth端口号(默认为8080)

--rpccorsdomain "http://chriseth.github.io/browser-solidity/"设置可以连接此节点的网 址(并不是通配符)

--port "30303"设置监听端口号,用于与其他节点进行连接

--identity "TestnetMainNode"设置节点标识

--datadir<账户数据存放地址>

account new 用于创建一个新账户

account list 查询账户列表

init <genesis.json 文件路径>根据genesis.json文件初始化创世区块 

进入geth控制台后,有如下常用命令。

> eth.accounts 查询账户列表

> personal.listAccounts 查询账户列表

> personal.newAccount() 创建新账户

> personal.deleteAccount(adrr,passwd) 删除账户

> personal.unlockAccount(adrr,passwd,time) 解锁账户,可进行交易操作

> eth.sendTransaction({}) 发送交易 

2. 以太坊钱包(Ethereum Wallet)

以太坊钱包是一个以太坊账户管理的独立应用,它是开源的,任何人都 可以提交代码改进项目。同时可以离线管理账户,包括账户的创建、备份、导入、更新等。以太 坊钱包重要的功能是可以进行以太币交易。

目前官方下载地址为https://github.com/ethereum/ mist/releases

也可以在这个网页下载https://ethfans.org/wikis/Ethereum-Wallet-Mirror

 3. browser-solidity(Remix)

browser-solidity是一个在线浏览器编译器,可用solidity编写智能合约,并对其编译和测试,它是使用C++开发的,又叫Remix。目前,browser-solidity已经正式改名为Remix-IDE。

4. cpp-ethereum

这是以太坊客户端的C++实现,流行程度仅次于geth。cpp-ethereum的代码非常便于移植,并 且已经在各种操作系统和应用领域成功使用。以太坊社区正在将cpp-ethereum的代码库从copyleft GPLv3的许可重新授权为Apache 2.0的授权,来推广cpp-ethereum的使用。 

5. Mix IDE

Mix是以太坊官方的DApp集成开发环境,用以在以太坊平台上快速开发应用。可以用于合约 的编写、测试和部署到区块链,同时进行用户界面的开发。webthree-umbrella是以太坊官方的项 目,开发语言为C++,里面主要包括3个客户端:AlethZero、Mix和Eth,可以运行在Windows、 Linux和macOS操作系统上。webthree-umbrella其实是cpp-ethereum项目的一个shell,是以太坊基 金会的前CTO Gavin Wood主持编写的。 

6. Meteor

Meteor是一套通用的webapp前端开发框架,可以非常方便地集成以太坊的web3.js接口。 Meteor被认为是一个全栈式的框架,完全使用JavaScript实现,并提供了重新加载、CSS注入和支 持预编译(Less、CoffeeScript等)。Meteor可以非常方便地构建一个单页面应用(Single Page App, SPA),可以把所有的前端代码都写入到index.html中,并使用一个js文件和css文件加入在资源中。 Meteor支持响应式的开发,类似于Angualr.js,可以非常简单地构建界面。 

7. Truffle

Truffle是一款非常优秀的开发DApp的框架。在Truffle中可以方便地使用JavaScript进行应用的 开发,并使用JavaScript中几乎所有的机制,如Promise、异步调用等。Truffle使用了包装web3.js 的一个Promise框架Pudding,所以不需要手动加载web3.js库,可以有效提升开发效率。同时Truffle 也内置了智能合约编译器,只要使用脚本命令就可以完成合约的编译、动态库链接、部署、测试 等工作,大大简化了合约的开发生命周期。 

 

阅读更多

更多精彩内容