社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  区块链

区块链生态系统的十大开发者必备工具

区块链技术学习 • 5 年前 • 447 次点击  
来自:IT经理网,作者:CashCat
链接:https://www.ctocio.com/top清单/28691.html


区块链生态系统的蓬勃发展,离不开健康的社区、丰富的工具和专业的媒体资讯,但是正如大多数新兴技术所面临的问题类似,区块链的优质技术资源和开发工具信息仍然不够透明,大多存在于少数专家和优秀团队的头脑中,以下,我们翻译整理了BlockXLabs的区块链开发高手Jesse Abramowitz推荐的区块链开发工具和资源TOP10列表:


1.语言

其实区块链开发可以使用任何语言,只要虚拟机能够读取它,而你能够编写它就行。你可以走Ethereum或Cardano[1]这样的区块链开发路线,也可以用Javascript自己写类似BUMO[2]的东西,任何语言,只要有效就可以使用。


以太坊的开发,最常用的还是Solidity[3]


2.文档和培训

这是区块链开发方程中最重要的,有时是最被忽视的部分。对于每种工具都是如此,尤其是语言。我该如何使用它?有什么警告?它是现有的语言吗?如果是这样,它为何不同(例如不能使用非确定性代码)?


文档越详细越好,文档是区块链生态系统蓬勃发展的关键,因为它使开发人员了解区块链所需的一切。


3.编译器

无论特定区块链使用什么虚拟机,它实际上并没有运行我们正在编写的语言。代码需要编译成字节码然后虚拟机才可以对其进行操作,所以我们需要一个工具来做到这一点,就是下面要介绍的工具。


4.集成开发环境

Remix[4] 是一个非常强大的以太坊开发工具。它非常适合编写代码和查找错误,同时也是一个很好的测试环境。从技术上讲,您不一定需要启动Remix这样的基于浏览器的整个IDE,而是可以为现有的IDE(如VS代码或Atom)创建插件。但是,有一点我可以证明的是,即使我已经开始使用Truffle进行实时部署,但依然坚持一直使用Remix进行构建和测试。


5.API服务节点

要理解为什么需要这样做,你必须了解有关区块链的一些基本事实。一个是你要做的不仅是与网络连接和交互。区块链(就像我们所说的那样)是一个全局状态机,所以如何在不知道状态的情况下如何读取或与之交互?


你不能。


那么你如何获得状态?这很简单,你只需运行一个节点并在你的笔记本电脑上同步它。这难吗?好吧,让我们这样说:


要做到这一点,你需要从创世块开始,然后在本地记录区块链上发生的每一笔交易。


所以,是的,非常难搞。


你也想关掉你的笔记本电脑去睡觉吗?没问题,您需要在第二天重新同步每个新块,并为其投入大量笔记本电脑资源。这太荒谬了,开发人员实际上很少这样做,所以我们需要的是端点(endpoint)。办法是通过Web sockets托管一个节点,你可以访问这个节点来调用和发送交易。


对于以太坊,主要端点服务称为Infura[5]


6. 区块浏览器 (Block Explorer)

我们怎么去读区块链?这里面的代码太多了。例如,要计算帐户中的交易列表,您必须遍历整个区块链,然后搜索该帐户的所有实例。区块浏览器可以记录和标记这些文件以进行搜索,以便于访问。区块浏览器实际上是区块链的直观表示。这对用户和开发人员都很重要。


7.浏览器扩展接口(钱包)

这延伸到了新一代互联网的概念。基本特征是使用点对点价值传输协议作为标准的协议,应用领域可以很宽。目前像
gitcoin[6]这样的DApps使用区块链来实现这个目的。相信有一天,我们的浏览器和手机将集成此功能(编者按:例如Opera),但今天我们还需要使用浏览器扩展对节点进行常量调用和交易发送。


示例:AION网络的AIWA[7]


8.前端到后端库

这个主要面向开发人员。我们想要的是能使我们的前端变得更容易和更灵活的代码库。通过使用Web3 js库,我可以轻松地调用我连接的节点。这使得开发DApps更容易。


9.测试网络Testnet/Faucet

有很多方法可以测试智能合约和dapps。一种方法是在本地测试它。然而,由于缺乏实时网络的动态,只能被视为部分测试。您需要一个免费的网络,其运行方式与您要使用的主网络完全相同。我们最接近我们需求的是testnets,一个自愿维护并以与主网相同的方式运行的网络。这也有助于测试分叉,因为您可以在主网之前分叉测试网。


示例:Ropsten testnet。


虽然我们有一个testnet,但我仍然需要一些本地令牌来与区块链进行交互。我总能挖掘它,但我想快速移动并减少摩擦点。你需要一个DApp的水龙头免费提供令牌,以便开发人员可以测试。


示例:My Faucet[8](由BlockX Labs用♥构建)


10.通证标准(至少相当ERC20,ERC721的标准)

在2017年和2018年,ICO主导了加密市场。但是,通证流行的原因有很多。通证由于严格的安全标准会很复杂。并非每个开发人员都可以制作完全安全的通证,或者需要在大的应用程序中使用它。区块链是全新的事务,难以完全理解,但它也比其他系统更永久。


拥有经过多方测试的标准确实有助于减少安全性错误,将区块链带入主流并避免像批量溢出(batch Overflow)这样的黑客攻击。


示例:ERC-20[9]


Bonus推荐:


11.加油站(Gas Station)

每笔交易都需要Gas(对于大多数加密货币)。它既是一个很棒的功能,也是这些网络的缺点。用户应当能够根据网络的当前状态计算他们想要使用多少Gas,这一点很重要。好的可视化是有益的,然而,更重要的是,需要有钱包可以调用的API,为用户建议合适的gas价格,否则将会有大量交易失败。


示例:Ethgasstation[10]


结论

我相信以上这些是可以让早期区块链生态系统蓬勃发展的关键工具。使用这些工具,开发人员将能够尝试不同的区块链,开发DApp等。


相关链接:
[1]Cardano:https://www.cardano.org/en/home/
[2]BUMO:https://bumo.io/
[3]Solidity:https://solidity.readthedocs.io/en/v0.4.25/
[4]Remix:https://remix.ethereum.org/#optimize=false&version=soljson-v0.4.25+commit.59dbf8f1.js
[5]Infura:https://infura.io/
[6]gitcoin:https://gitcoin.co/
[7]AIWA:https://getaiwa.com/
[8]My Faucet:https://faucets.blockxlabs.com
[9]ERC-20:https://github.com/ethereum/eips/issues/20
[10]Ethgasstation:https://ethgasstation.info/


关于作者:

Jesse Abramowitz是BlockX Labs的区块链开发人员。他曾参与多个DApps,项目和区块链网络。目前,他还是当地一所大学的实验室助理,致力于提供区块链咨询、培训和开发服务。



●编号262,输入编号直达本文

●输入m获取文章目录

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37008
 
447 次点击