核心以太坊协议开发

时间:2018-08-24 12:51:57

标签: javascript ethereum

我是以太坊区块链技术的新手。 我非常想了解这项技术,我了解概念,例如什么是智能合约(用于在现有的以太坊区块链网络上创建Dapps)。 我想进一步了解它,例如关于它的体系结构,它用于点对点连接的协议是什么?如何实现共识机制? 我知道以太坊网络的骨干是evm,它运行在挖矿节点上,用什么语言编写? 有人可以指导我或提供以太坊区块链的核心部分是什么的支持文档吗?我想分叉它,并探索其代码并将其更改为所使用的机制。 还请提供原始以太坊项目的github链接。 就像我主要从事javascript一样。是否可以分叉此项目并创建其他一些区块链网络,以更改它使用javascript使用的某些机制? 如果是,请提供支持的文件。 我知道Geth,即Go执行以太坊。 javascript是否有可用的实现?

3 个答案:

答案 0 :(得分:1)

以太坊不依赖于单一的编程语言来实现。符合Ethereum Yellowpaper中规定的要求的任何实现都可以正常运行并加入网络。

有Go,C ++,Python,Rust和其他几种语言的实现。两个最重要的实现是在Go(Geth)和Rust(Parity)中。所有这些都是开源的。

答案 1 :(得分:1)

我建议使用golang进行开发。有疲倦的以太坊J,但是不如golang。 https://goethereumbook.org/en/是一本好书。本书提供了许多基本技巧,包括如何获取帐户余额,检查冻结信息以及与ABI智能合约进行通信,这是您尝试在其之上构建服务时最有可能使用的技巧。在实现方面,这本书包含了许多从helloworld到复杂场景的示例。它还会不断更新并添加更多功能。我经常使用它,所以才建议这样做。

答案 2 :(得分:0)

只想在这里补充一点。如果某人的数学技能未达到博士学位水平,那么阅读黄皮书和消化信息可能是一项艰巨的任务。除了阅读white paper以外,还有一种更好的选择,beige paper则更好,因为内容几乎都是纯英语的。

此外,我在不久前写了一篇中篇文章,列出了现有Ethereum clients的列表,您可以遍历它们以进一步了解其实现。但是,我宁愿建议您将研究重点放在geth(以Go语言实现的以太坊客户端)和Parity(从未使用过,但是听说您可以更改consensys机制,还有其他一些不错的选择可以解决)上。然后是Pegasys最近发布的Pantheon Core,也来看看。