CFO区块链学习笔记(5):以太坊学习资源整理

  • A+
所属分类:以太坊 学习笔记

官网

https://ethereum.org/
https://blog.ethereum.org/
https://forum.ethereum.org/

文档

1.wiki地址
https://github.com/ethereum/wiki/wiki
在这里有白皮书、黄皮书以及开发指南,比较全面。

2.白皮书下载地址:
https://github.com/ethereum/wiki/wiki/White-Paper

3.黄皮书下载地址:
https://github.com/ethereum/yellowpaper

4.Homestead文档:
http://www.ethdocs.org/en/latest/

5.Solidity编程文档:http://solidity.readthedocs.io/en/latest/
该网站提供了以太坊Solidity语言的全面参考手册,学习Solidity语言必备。

6.开发框架Truffle说明文档:http://truffle.readthedocs.io/en/latest/
以太坊目前很流行的开发框架Truffle的说明书,这个框架比较流行。

源码下载

https://github.com/ethereum/

工具

1.查询网络状态:https://ethstats.net/
该网站能全面的显示网络状态,包括节点、难度、算力等等,非常直观

2.以太坊网络扫描:http://etherscan.io/
该网站提供了以太坊网络的各种状态,比如帐号的详情、TOKEN详情,难度详情、区块详情,非常方便和直观。

3.实时交流网站:https://gitter.im/orgs/ethereum/rooms
该网站是以太坊的gitter chart的网站,根据项目分了很多房间,只要你提问题,大部分有人回答,很不错,不过只能英语交流。

4.第三方IDE:https://live.ether.camp/
这个是第三方发布的Solidity IDE,他的目标是企业级IDE,老外用的较多。

资源

1.以太坊应用资源:http://ether.fund/
该网站提供了以太坊很多应用资源,比如市场情况、合约辅助工具、已发布的智能合约、以太坊网络、DAAP等,方便开发和发布。

2.以太坊中文爱好者网站:http://ethfans.org/

客户端

Go客户端(go-ethereum)

go-ethereum就是通常所说的 geth ,它是一个用Go语言实现运行在以太坊完整节点上的命令行接口,安装并运行了geth,你可以成为以太坊正式链的节点并且可以:

  • 挖矿得到真实的以太币
  • 在账户地址之间转移资金
  • 创建智能合约和发起交易
  • 查看所有历史区块
  • 还有很多很多功能

相关链接:

python客户端(pyethapp)

pyethapp 是基于python的客户端,实现了以太坊加密经济状态机,python实现旨在提交可用性和可扩展性的代码库。

pyethapp修改了两个以太坊核心组件来实现客户端:

  • pyethereum - 核心库,区块链特性,以太坊虚拟机,挖矿
  • pydevp2p - p2p网络库,节点发现,多路复用的传输和加密链接

相关链接:

Java客户端(Ethereum(J))

Ethereum(J) 是一个以太坊协议的纯Java实现,它提供了可以嵌入任何Java/Scala工程的库并且支持所有的以太坊协议和子服务。Ethereum(J)最早由 Roman Mandeleil 开发,现在由 <ether.camp> 提供赞助。

Ethereum(J) 支持CPU挖矿,由纯Java实现可以被使用在私有链和测试网络中,甚至你可以在以太坊公有链中使用,虽然没有经济收益。

相关链接:

链接到以太坊客户端

以太坊客户端通过一系列基于JSON-RPC的方法与外界进行交互,然而,直接使用JSON-RPC进行交互,会极大增加开发者的负担,比如:

  • JSON-RPC 协议的实现
  • 智能合约的创建交互过程中二进制数据的编码和解码
  • 256位的数字类型
  • 管理命令的支持 - 例如:创建/管理地址,交易签名

一些列的库文件已经被编写好来解决这些问题,允许应用程序的开发者专注于各自的应用,而不被这些底层的协议交互干扰到:

Library Language Project Page
JavaScript连接(web3.js) JavaScript https://github.com/ethereum/web3.js
Java连接(web3j) Java https://github.com/web3j/web3j

Java连接(web3j)

web3j

web3j是一个轻量级的Java库,用于与以太坊网络客户端(节点)集成。

核心特性包括:

  • 以Java类型的JSON-RPC实现与以太坊客户端的交互
  • 支持所有JSON-RPC类型的方法
  • 支持所有Geth和Parity方法来管理账户、签名交易
  • 发送客户端同步请求和异步请求
  • 自动从Solidity ABI文件生成Java智能合约包装

现在,同时支持 Go客户端(go-ethereum)和 Rust客户端(Parity)客户端。

相关链接:

发表评论

您必须才能发表评论!