區(qū)塊鏈的開發(fā)工具

開發(fā)區(qū)塊鏈應(yīng)用的時(shí)候,需要開發(fā)智能合約,以及調(diào)用智能合約的模塊(如UI)等。

注:以下除非特別注明,都是以以太網(wǎng)絡(luò)為開發(fā)對(duì)象。

  1. 智能合約開發(fā)語(yǔ)言
  • solidity
  • Vyper(基于Python的以太坊變成語(yǔ)言)
  • LLL(Lisp風(fēng)格的底層編程語(yǔ)言)
  • Serpent
  1. 開發(fā)工具(IDE)
  • Remix IDE,基于瀏覽器;
  • Ethfiddle,基于瀏覽器,由Loom Network團(tuán)隊(duì)開發(fā);
  • atom.io 是一個(gè)與github直接能夠連接的IDE環(huán)境,通過安裝Linter-Solidity、Etheratom、autocomplete-solidity、language-solidity等插件,就能進(jìn)行Solidity項(xiàng)目的編譯開發(fā)了;
  • vim,通過安裝vim-solidity插件即可進(jìn)行solidity的開發(fā);
  • Eclipse下的 Solidity-ide 插件;
  • visual studio+azure。 Microsoft發(fā)布了Azure區(qū)塊鏈開發(fā)套件,專門用于支持以太坊開發(fā),并和Visual Studio完全集成。
  • ChainIde云端的支持多個(gè)公鏈的開發(fā)IDE工具,由純白矩陣提供。;
  1. 合約開發(fā)框架

一旦開始寫智能合約,會(huì)重復(fù)做大量的操作,比如編譯源碼為字節(jié)碼和abi,部署到網(wǎng)絡(luò),測(cè)試然后部署合約等等。而合約開發(fā)框架則標(biāo)準(zhǔn)化和自動(dòng)化了這些瑣碎的工作。它們提供了一個(gè)好的開發(fā),部署,以及更為重要的,測(cè)試智能合約的體驗(yàn)。

  • Truffle
    A world class development environment, testing framework and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier.
  • Embark
    A development environment, testing framework, and other tools integrated with Ethereum, IPFS, and Whisper.
  • openzeppelin
    OpenZeppelin提供了一個(gè)結(jié)果考驗(yàn)的安全編寫智能合約的類庫(kù),同時(shí)也提供了一套方便開發(fā)者編譯、部署、升級(jí)智能合約、調(diào)用智能合約的開發(fā)框架/SDK。
  • Clevis
    Ethereum blockchain orchestration, testing, and command line interface.
  • BlockTest GreenHouse
    user-centric blockchain development platform. Greenhouse supports and connects users at every stage of the blockchain development.
    DevOps 平臺(tái)能夠讓客戶和區(qū)塊鏈開發(fā)人員輕松構(gòu)建區(qū)塊鏈網(wǎng)絡(luò),并針對(duì)現(xiàn)實(shí)業(yè)務(wù)場(chǎng)景開發(fā)健壯的應(yīng)用程序,加快開發(fā)流程的同時(shí)還提供了完善的控制和監(jiān)督。
  • getwaffle.io
    A framework for advanced smart contract development and testing (based on ethers.js).
  • DAPP
    Framework for DApp development, successor to Dapple
  • Etherlime
    Ethers.js based framework for dapp development (Solidity & Vyper), deployment, debugging, testing and more
  • brownie
    Python-based development environment and testing framework.
  • Parasol
    Agile smart contract development environment with testing, automatic contract documentation and more. It features a flexible and unopinionated design with unlimited customizability
  • 0xcert framework
    JavaScript library that provides tools for building powerful decentralized applications.
  • sbt-ethereum
    A tab-completey, text-based console for smart-contract interaction and development, including wallet and ABI management, ENS support, and advanced Scala integration.
  • Nethereum
    Cross-platform Ethereum development framework
  • cobra
    A fast, flexible and simple development environment framework for Ethereum smart contract, testing and deployment on Ethereum virtual machine(EVM).
  • alchemy
    alchemy提供了一個(gè)更廣義上的開發(fā)框架,而不僅僅是智能合約。Alchemy提供了和多個(gè)公鏈交互的API、開發(fā)工具、以及數(shù)據(jù)監(jiān)控和分析工具。
  • Substrate
    A modular blockchain framework that lets you pick and choose the right components for your application or enterprise。是Polkadot體系下的一個(gè)區(qū)塊鏈框架。這個(gè)框架提供了以下功能的定制:
    A default PoS blockchain
    Upgradable runtimes
    Pluggable consensus (PoS, PoW, PoA)
    Block production, synchronization
    Efficient storage
    Efficient state machine
    P2P networking layer
    Built in crypto primitives
    Light client support
    Suite of libraries to modify runtime logic, i.e. manage storage, accounts, staking, a treasury, consensus and more
    UI kits
  1. 智能合約安全工具
    開發(fā)智能合約,其安全性到底如何,是每個(gè)開發(fā)者需要關(guān)注的問題。而一些專業(yè)的工具可能很大程度上解決問題。
  • Slither
    Solidity static analysis framework written in Python 3.
  • Mythx
    A smart contract security analysis API that supports Ethereum, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains. MythX是使用了Mythril, 用來(lái)檢查EVM的字節(jié)碼的安全分析工具。
  • Manticore
    A command line interface that uses a symbolic execution tool on smart contracts and binaries.
  • ChainseSecurity
    Security scanner for Ethereum smart contracts.
  • Erc20-Verifier
    A verification tool used to check if a contract complies with the ERC20 standard.
  1. 以太網(wǎng)數(shù)據(jù)的獲取/數(shù)據(jù)的監(jiān)控
    區(qū)塊鏈作為一個(gè)大賬本,其中數(shù)據(jù)的更新和獲取對(duì)于應(yīng)用非常重要。因此,數(shù)據(jù)的獲取和監(jiān)控服務(wù)必不可少。這里面有很多項(xiàng)目已經(jīng)商業(yè)化。
  • Alethio
    Consensys提供的工具。用于以太網(wǎng)數(shù)據(jù)的訪問、監(jiān)控和報(bào)告。An advanced Ethereum analytics platform that provides live monitoring, insights and anomaly detection, token metrics, smart contract audits, graph visualization and blockchain search.
  • Amberdata
    Provides live monitoring, insights and anomaly detection, token metrics, smart contract audits, graph visualization and blockchain search.
  • Blocknative
    利用Notify API,獲得ERC-20和ERC-721的交易狀態(tài)變化的實(shí)時(shí)通知;
    利用onboard.js可以連接桌面和mobile的wallet。
  • The Graph
    The Graph 建立了一個(gè)在去中心化的網(wǎng)絡(luò)上查詢區(qū)塊鏈數(shù)據(jù)的機(jī)制。有了 Graph,dApp 團(tuán)隊(duì)就不用再為了查詢數(shù)據(jù)而運(yùn)行一個(gè)中心化的服務(wù)器了,他們可以用上免信任的、公開的基礎(chǔ)設(shè)施,很容易就能獲得特定區(qū)塊鏈的數(shù)據(jù)。用戶可以用 ETH 或 DAI 來(lái)支付查詢數(shù)據(jù)的費(fèi)用,驗(yàn)證者則通過質(zhì)押 GRT、運(yùn)行基礎(chǔ)設(shè)施來(lái)賺取收益。A protocol for indexing Ethereum and IPFS data and querying it using GraphQL.
  • DFuse
    基于EOS和以太網(wǎng)的數(shù)據(jù)分析接口
  • CRUD API
    由純白矩陣提供,為多條區(qū)塊鏈環(huán)境提供CRUD API服務(wù),使得用戶可以通過Web API對(duì)區(qū)塊鏈方便的進(jìn)行數(shù)據(jù)挖掘,數(shù)據(jù)分析和數(shù)據(jù)鉆取。無(wú)需任何環(huán)境搭建,一鍵接入十幾種區(qū)塊鏈環(huán)境。
  • Infura
    Consensys提供的API 套件。可通過 HTTPS 和 WebSockets 提供到以太坊和 IPFS 網(wǎng)絡(luò)的即時(shí)訪問。按API請(qǐng)求付費(fèi)。
  • Dune Analytics
    Instantly create and share analysis of Ethereum data.
  • smart-contract-watch
    A tool to monitor a number of smart contracts and transactions
  • scout
    A live data feed of the activities and event logs of smart contracts on Ethereum
  • tenderly
    A platform that gives users reliable smart contract monitoring and alerting in the form of a web dashboard without requiring users to host or maintain infrastructure
  • chainlyt
    Explore smart contracts with decoded transaction data, see how the contract is used and search transactions with specific function calls
  • ethereum-watcher
    An extensible framework written in Golang for listening to on-chain events and doing something in response.

開發(fā)應(yīng)用的時(shí)候,開發(fā)者需要運(yùn)行一個(gè)節(jié)點(diǎn);或者利用第三方的節(jié)點(diǎn)服務(wù),來(lái)和主網(wǎng)進(jìn)行溝通。當(dāng)然,非開發(fā)者也可以運(yùn)行節(jié)點(diǎn)參與區(qū)塊鏈的運(yùn)作。

  1. 節(jié)點(diǎn)
6.1 節(jié)點(diǎn)/客戶端
  • geth
    運(yùn)行一個(gè)全節(jié)點(diǎn)(官方的節(jié)點(diǎn),go語(yǔ)言)。Go Ethereum is one of the three original implementations (along with C++ and Python) of the Ethereum protocol. It is written in Go, fully open source and licensed under the GNU LGPL v3.
  • OpenEthereum
    過去叫Parity,運(yùn)行一個(gè)輕節(jié)點(diǎn),它是第三方的,Rust語(yǔ)言寫的以太坊客戶端(也是一個(gè)全節(jié)點(diǎn)的實(shí)現(xiàn)),集成到了Web瀏覽器,并使之成為一個(gè)DApp瀏覽器。
  • pyethapp
    以python為基礎(chǔ)的客戶端,實(shí)現(xiàn)以太坊加密經(jīng)濟(jì)狀態(tài)機(jī)。
  • Besu
    Hyperledger Besu is an open source Enterprise Ethereum client developed under the Apache 2.0 license and written in Java.
  • Nethermind
    Ethereum client written in C# .NET Core.
  • Aleth
    The collection of C++ libraries and tools for Ethereum, formerly known as cpp-ethereum project.
  • Trinity
    Python client using py-evm
  • EthereumJS
    JS client using ethereumjs-vm
  • exthereum
    Elixir implementation of Ethereum's Blockchain.
  • Mana-Ethereum
    An open-source Ethereum blockchain client built using Elixir.
6.2 本地節(jié)點(diǎn)版本:
  • Ganache
    GanacheCLI (previously Testrpc), a NodeJS package, is a fast and customizable blockchain emulator. It simulates the Ethereum network on a single computer and allows you to make calls to the blockchain without any of the hassles of running a real Ethereum node.
    屬于Truffle開發(fā)體系中的一部分。
  • EthNode
    Run an Ethereum node (Geth or Parity) for local development.
6.3 節(jié)點(diǎn)服務(wù)提供商;
  • bison trails
    在多個(gè)公鏈上運(yùn)行節(jié)點(diǎn)的云端設(shè)施(ETH 2.0測(cè)試中,不含以太網(wǎng)1.0版本)
  • blockdaemon
    提供多個(gè)公鏈運(yùn)行節(jié)點(diǎn)的設(shè)施
  • DAppNode
    提供多種公鏈節(jié)點(diǎn)的軟硬件解決方案
  • VipNode
    提供以太全節(jié)點(diǎn),并可以為Vipnode的付費(fèi)客戶提供優(yōu)先服務(wù)從而獲得收入。
  • QuikNode
    提供以太全節(jié)點(diǎn),同時(shí)也提供按照API調(diào)用次數(shù)計(jì)費(fèi)的服務(wù)。
  • Ankr
    Ankr makes infrastructure for deploying any blockchain node easy, accessible, affordable and instantly distributed across the globe.
  1. Dapp瀏覽器

很多時(shí)候,開發(fā)應(yīng)用并不需要鏈接到節(jié)點(diǎn),而是可以通過Dapp瀏覽器和以太進(jìn)行交互。

  • Mist
    以太坊官方的DApp瀏覽器。一個(gè)漂亮的界面來(lái)與以太坊節(jié)點(diǎn)交互,與智能合約發(fā)、收交易。
    +Status
    一個(gè)手機(jī)上可以使用的DApp瀏覽器,同時(shí)也是一個(gè)錢包,一個(gè)去中心化的隱私消息軟件。
  • MetaMask
    Google瀏覽器擴(kuò)展,把Chrome變成了一個(gè)DApp瀏覽器。它的核心特性是注入以太坊提供的web3.js,讓DApp連接到以太坊節(jié)點(diǎn)服務(wù)。
  1. 各類類庫(kù)
8.1 與智能合約交互:

web3.js
go-ethereum中的abigen的程序,提供了go包,用來(lái)與智能合約交互。

8.X 應(yīng)用層類庫(kù)/API:
  • 3Box
    對(duì)用戶來(lái)說,3Box提供了去中心化的方式讓用戶注冊(cè)自己的3Box profile(通過IPFS存儲(chǔ)),并將自己的在3Box的消息和數(shù)據(jù)通過OrbitDB進(jìn)行P2P的存儲(chǔ)。
    在此基礎(chǔ)上,3Box為開發(fā)者提供了三類API,分別是Profile、Message、Data,使得開發(fā)者無(wú)需花很多的時(shí)間在用戶(公私鑰)管理和去中心化數(shù)據(jù)存儲(chǔ)上,也方便使得在自己的DApp加上消息的功能。
    而3Box的底層,則是使用了項(xiàng)目方自己開發(fā)的ceramic.network,Ceramic's public infrastructure allows participants to create signed, append-only, tamper-proof documents that act as a censorship-resistant and universally available source of truth for important information. Ceramic documents are stored in IPFS, encoded using IPLD, and anchored in one or more blockchains.
  • tierion
    Tierion enables to create a verifiable database of any data or process on the bitcoin blockchain by offering developer tools & API to add data to the distributed ledger. Tierior has also developed an open standard called ChainPoint for recording data and generating receipts that contain all the info need.
    At the heart of Tierion’s technological infrastructure is the Chainpoint Proof protocol. The protocol comes into play whenever a user adds something in Tierion’s data store. Chainpoint and Tierion’s API anchors the data to the blockchain in order to generate a timestamp proof.
  • hummingbot
    Hummingbot is an open-source orchestration tool that allows anyone to create and operate high-frequency market making bots.
  • Zerion Defi SDK
    DeFi SDK is the on-chain balanceOf for DeFi protocols. It support the following futures:
    Query user assets and debt deposited in DeFi protocols like Maker, Aave, dYdX, etc.
    Get the underlying components of complex derivative ERC20 tokens
    Interact with multiple DeFi protocols in a unified way
  1. 其他工具
  • prosity
    反編譯以太坊智能合約的字節(jié)碼
  • evmdis
    Disassembly
  • Fleek
    Fleek is everything you need to build fast, modern sites & apps on IPFS. All in one seamless workflow.
  • Rimble
    DAPP相關(guān)的視覺控件。
  • simpleid.xyz
    類似于GA的基于區(qū)塊鏈地址的用戶分析工具
  • Grid
    A desktop application for downloading, configuring, and running Ethereum nodes and tools.
  • Builder
    A task runner for Ethereum smart contract developers.
  1. 教學(xué)
  • eth.build
    通過圖形化的編程方式提供一些標(biāo)準(zhǔn)化流程和概念的教學(xué),比如哈希、公私鑰、交易、錢包等
  • Learn Libra
    libra的教學(xué),純白矩陣提供,通過開發(fā)名為Move Castle的游戲進(jìn)行。
  • Crypto Zombia
    通過開發(fā)名為Crypto Zombia的游戲進(jìn)行Solidity的教學(xué)。
  • Ethereum Studio
    Web-based IDE ideal for new developers looking to experiment with smart contracts. Ethereum Studio features multiple templates, MetaMask integration, transaction logger, and a built in-browser Ethereum Virtual Machine (EVM) to help you get started building on Ethereum as fast as possible.
  1. 跨鏈專用
    隨著區(qū)塊鏈的普及,以及各種不同的公鏈之間交互的增多,在開發(fā)區(qū)塊鏈應(yīng)用的時(shí)候,跨鏈的需求也變得越來(lái)越常見。這里列的項(xiàng)目,就是為了開發(fā)跨鏈應(yīng)用而成立的。
  • Loom
    Loom是以太的一條側(cè)鏈,因?yàn)槭褂昧薉Pos的共識(shí)機(jī)制,所以交易不需要手續(xù)費(fèi),交易確認(rèn)快速,對(duì)用戶友好,而其智能合約和以太網(wǎng)上的Solidity合約兼容。同時(shí),集成了和BTC、TRON、以太、幣安鏈,開發(fā)者可以方便得在DApp里集成相應(yīng)公鏈上的資產(chǎn)。
  • Chain Abstraction Layer
    Communicate with different blockchains (including Ethereum) using a single interface.
  • MoonBeam
    Decentralized and permissionless, Moonbeam provides an Ethereum-compatible smart contract platform that makes it easy to build natively interoperable applications. Polkadot上的智能合約平行鏈,能夠讓開發(fā)人員輕松在Polkadot網(wǎng)絡(luò)上創(chuàng)建智能合約。
  • plasm
    基于 Substrate 的一個(gè)可擴(kuò)展性 DApp 平臺(tái),未來(lái)可作為 Polkadot 的平行鏈。開發(fā)者可以在 Plasm 網(wǎng)絡(luò)上構(gòu)建任何應(yīng)用程序,而不必考慮可擴(kuò)展性問題。
  • edgeware
    Polkadot上的智能合約平行鏈,能夠讓開發(fā)人員輕松在Polkadot網(wǎng)絡(luò)上創(chuàng)建智能合約。Edgeware is a high-performance, self-upgrading WASM smart contract platform, in the Polkadot ecosystem.
  1. 給非技術(shù)人員使用的“開發(fā)”工具
    上文提到的所有的工具,都是給技術(shù)人員用的。讓非技術(shù)人員能夠通過一些特定的工具,“開發(fā)”出符合他們需求的區(qū)塊鏈應(yīng)用程序,便是這類工具的著眼點(diǎn)。
    注:雖然聽起來(lái)很高大上,但實(shí)際上這類工具或者應(yīng)用面非常狹窄,或者非常難用,或者還是需要比較多的技術(shù)能力才能使用。因此,這個(gè)方向很美好,但實(shí)現(xiàn)起來(lái)有很多問題。就如同傳統(tǒng)世界一直在說要讓不懂編程的人也能開發(fā)出好程序,但實(shí)際上到現(xiàn)在為止還沒有一個(gè)應(yīng)用能達(dá)到這樣的效果。
  • mintable
    創(chuàng)建、瀏覽、交易ERC-721的地方。無(wú)需代碼即可創(chuàng)建ERC-721的智能合約。
  • One Click dApp
    利用智能合約的ABI,不需要編程,即可創(chuàng)建DAPP。Generate a frontend directly from ABI for fast development and testing.
  • Open Law
    一個(gè)在合同管理、簽署和自動(dòng)執(zhí)行相關(guān)智能合約的工具。參見文章:《OpenLaw介紹》
  • Etherscripter.com
    通過組件和運(yùn)算符的拖拽編輯智能合約的圖形編輯器,能生成LLL、Serpent和XML代碼。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容