以太坊开发者资源工具集

作者: Ashton | 来源:发表于2018-07-07 21:49 被阅读224次

    本文汇集了以太坊开发相关的各种工具、组件、平台与学习资源。大部分内容来自于:https://github.com/ConsenSysLabs/ethereum-developer-tools-list,会根据行业发展定期更新。

    更新历史:
    2018.07.30 添加 web3j 使用样例
    2018.07.17 添加 geth rpc 安全审计工具
    2018.07.07 初始版本

    开发语言、框架与工具

    语言

    • Solidity - 官方推荐以太坊智能合约开发语言,也是目前最为主流的智能合约语言。
    • Bamboo - 是一种将智能合约描述为有限状态机的语言,把智能合约看成一个状态和交易的函数,同时生成一个新的状态。
    • Vyper - 一种类 python 的面向合约编程语言,专注于以太坊虚拟机,着重于安全、简洁、和稳定性。

    框架

    • Truffle - 最为流行的智能合约开发、测试和部署框架。经常与 Ganache (也是由 Truffle 团队开发) 一起搭配使用。
    • Embark - 一个 DApp 开发框架。
    • Populus - 用Python语言写的智能合约开发框架。
    • Etherlime - 基于 ethers.js 的 DApp 开发框架。

    集成开发环境(IDE)

    • Remix - 一个基于solidity语言的在线智能合约开发IDE,它提供从编译,调试到部署的全流程支持。
    • Atom - Atom 编辑器可以结合 Atom Solidity Linter, Etheratom 等插件进行智能合约开发。
    • Pragma - 一个非常简单的 solidity 合约在线 IDE。提供合约的编译、部署与调用支持。
    • Superblocks Studio - Superblocks Studio 可以帮助你在线编写、编译与部署智能合约。目前处于 beta 版本。
    • Vim solidity - 有了这个,使用 vim 也可以写愉快地写 solidity 了。
    • Visual Studio Code - VSCode 是我日常用的最多的工具,好多支持 solidity 的插件。
    • Intellij Solidity Plugin - JetBrains IntelliJ Idea IDE 上用的 solidity 插件,支持语法高亮,格式化与代码自动补全。

    常用以太坊交互代码库

    • Web3.js - 以太坊官方的 Javascript API
    • Eth.js - 优化过的 Web3.js
    • Ethers.js - 更加完整的以太坊 Javascript 代码库,包括 Web3.js 没有的足记词与 HD 钱包支持等。
    • Web3.py - Python 版的 Web3
    • Web3.php - PHP 版的 Web3
    • Web3j - Java 版的 Web3, 这里可以查看具体使用样例
    • Nethereum - .Net 版的 Web3
    • Ethereum.rb - Ruby 版的 Web3
    • Web3.hs - Haskell 版的 Web3
    • KEthereum - Kotlin 版的 Web3
    • Pyethereum - Python 版的以太坊核心客户端
    • Drizzle - 基于 Redux 的用于链接以太坊的前端代码库
    • Eventeum - 以太坊智能合约事件和后端微服务之间的桥梁
    • Vortex - 可直接用于 DApp 的 Redux Store。通过 WebSockets 实现智能合约与后台数据的自动刷新。

    相关工具

    • Truffle boxes - 一些打包好的组件
    • Local Raiden - 在 docker 容器中运行本地雷电网络以进行演示和测试
    • Private networks deployment scripts - 私有 PoA 网络的开箱即用部署脚本
    • Local Ethereum Network - 私有 PoW 网络的开箱即用部署脚本
    • Kaleido - 使用 Kaleido 启动联盟区块链网络。非常适合 PoC 和测试
    • Cheshire - CryptoKitties API 和智能合约的本地沙箱实现
    • Solc - Solidity 编译器
    • Solidity cli - 更快更好的编译 Solidity
    • Ethereumjs - 以太坊实用的 javascript 代码库集合,比如 ethereumjs-utilethereumjs-tx
    • Ethjs - 简单好用的 JS 模块
    • Eth lightwallet - 在 Node 和浏览器里用的以太坊轻钱包
    • RLP - RLP 编码的 JS 版实现
    • Solium - 用于识别和修复 Solidity 中的代码格式和安全问题
    • Ethereal - 一个命令行工具,用于管理以太坊中的常见任务
    • ABI decoder - 用于解码以太坊交易中数据参数和事件的库
    • Ethereum ABI UI - 根据以太坊合约 ABI 自动生成 UI 表单字段和关联的验证器
    • Eth crypto - 用于以太坊的加密javascript 函数以及将它们与 web3js 和 solidity 一起使用的教程
    • Solidity flattener - 一个可以将工程中相互引用的合约合并到一个合约文件的工具
    • JS IPFS API - JS 实现的与 IPFS API 交互的代码库
    • Ganache - 具有 UI 的本地以太坊简单实现
    • SpankCard - 浏览器里用的以太坊钱包
    • Parity Signer - 允许签署交易的移动应用
    • py-eth - 以太坊 Python 语言工具集
    • Decode - 用以解析提交给本地 testrpc 节点的交易,使其更易读,更易于理解

    基础架构相关

    客户端

    存储

    • Swarm - 去中心化存储平台和内容分发服务,是以太坊 web3 技术栈的基础层服务
    • IPFS - 去中心化存储网络,致力于使网络更快,更安全,更开放的点对点超媒体协议
    • IPFS-Store - 带检索功能的 IPFS 服务 API
    • OrbitDB - 基于 IPFS 的去中心化数据库

    消息

    • Whisper - DApps 相互通信的通信协议, 以太坊 web3 技术栈的基础层服务
    • DEVp2p Wire Protocol - 以太坊节点间的点对点通信

    钱包

    浏览器

    • Etherscan - 最为流行的以太坊浏览器,用于查看交易信息和合约代码
    • Etherchain Light - 用于以太坊私链的区块链浏览器
    • POA Explorer - 支持 POA 共识的以太坊浏览器
    • QuickBlocks - 访问以太坊区块链数据的工具集

    gas 计算

    相关服务

    测试网络水龙头(faucet)

    合约代码库

    测试

    安全

    知识

    治理

    • Ethresear.ch - 参与以太坊研究工作的论坛, 包括但不限于: Casper, Sharding, EVM improvements, Crytpeconomics, Plasma and State-channels
    • Fellowship of Ethereum Magicians - 以太坊社区论坛
    • EIPs - 以太坊改进提案库
    • ERCs - The Ethereum Request for Comment repository

    参考资料

    相关文章

      网友评论

        本文标题:以太坊开发者资源工具集

        本文链接:https://www.haomeiwen.com/subject/hhskuftx.html