Rust是新一代的潜力巨大的开发语言。本文编辑整理了9个主流的 用于以太坊、比特币、tendermint、eosio、polkadot等区块链 开发的Rust包,可用于区块链应用的快速开发。
1、rust-bitcoin:比特币区块链rust开发包
rust-bitcoin用于开发比特币区块链相关应用,支持 序列化/反序列化、解析并执行比特币相关数据结构及 网络消息等功能,具体支持的特性包括:
- 比特币协议消息的序列化/反序列化
- 比特币区块和交易的序列化/反序列化
- 比特币脚本的序列化/反序列化
- 私钥和地址的创建、序列化/反序列化和验证,内置BIP32的完整支持
- PSBT的创建、操作、合并与最终化
- 支持Blockstream侧链的Pay-to-contract交易
项目地址:https://github.com/rust-bitcoin/rust-bitcoin
2、rust-bitcoincore-rpc:比特币节点JSON-RPC API客户端开发包
rust-bitcoin不包含比特币节点的JSON RPC API封装,rust-bitcoincore-rpc 填补了这个空白。例如:
1 | let rpc = Client::new(url, Auth::UserPass(user, pass)).unwrap(); |
项目地址:https://github.com/rust-bitcoin/rust-bitcoincore-rpc/tree/master/client
3、rust-web3:以太坊区块链rust开发包
rust-web3是以太坊web3.js开发包的rust版本的实现, 具体特性包括:
- 支持合约调用、ABI编码
- 支持批量请求
- 支持HTTP/IPC/WebSocket传输
- 支持众多标准或非标数据类型,例如:
- U256,H256,Address(H160)
- Parity的Transaction、TransactionReceipt 、RichBlock、Work、SyncStats
- 支持大部分标准以太坊RPC API:
- Eth:eth_*:支持
- Eth Filters:eth_*:支持
- Eth Pubsub:eth_*:支持
- net_*:支持
- web3_*:支持
- personal_*:支持
- traces_*:暂不支持
- 支持Parity扩展RPC API:
- 只读api:parity_*:支持
- 账户api:parity_*:部分支持
- 集合api:parity_*:支持
- signer_*:支持
- 自定义API:支持
项目地址:https://github.com/tomusdrw/rust-web3/
4、ethereum-tx-sign:以太坊离线签名rust开发包
ethereum-tx-sign支持你在Rust代码中脱机签名以太坊交易。例如:
1 | // 1 mainnet, 3 ropsten |
项目地址:https://github.com/synlestidae/ethereum-tx-sign
5、SputnikVM:纯rust实现的以太坊虚拟机
SputnikVM是完全采用rust实现的以太坊虚拟机,主要特性包括:
- 独立:可以作为单独进程载入或集成进现有APP
- 通用:支持不同的以太坊区块链,例如ETC、ETH或私有链
- 无状态:只包含一个连接到独立的状态存储的执行环境
- 快速:实现的关注重点就是性能
SputnikVM要求 rustc 1.33.0 (2aa4c46cf 2019-02-28),不支持 Rust 1.32.0以及更早版本。
项目地址:https://github.com/rust-blockchain/evm
6、tendermint-rs:tendermint区块链rust开发包
Tendermint是一个高性能的支持拜占庭容错的区块链共识引擎,tendermint-rs用于 访问Tendermint区块链,要求Rust 1.39+。
项目地址:https://github.com/informalsystems/tendermint-rs/tree/master/tendermint
7、monero-rs:Monero区块链rust开发包
monero-rs用于访问Monero区块链,支持门罗币相关的序列化/反序列化 以及数据结构或网络消息的解析。具体特性包括:
- 支持Monero区块及交易的序列化/反序列化
- 支持地址和子地址的创建、序列化/反序列化和验证
- 支持私钥和一次性密钥的创建、序列化/反序列化和验证
- 大部分结构都支持Serde
项目地址:https://github.com/monero-rs/monero-rs
8、eosio-rust:EOSIO区块链rust开发包
eosio-rust是Rust版本的EOSIO SDK,它提供一组API用于采用Rust 开发EOSIO区块链上的智能合约与全栈应用。
项目地址:https://github.com/sagan-software/eosio-rust
9、substrate:大杀器
Parity出品,支持区块链创新的下一代开发框架,已经用于Polkadot的开发, 是中小企业开发自主知识产权的的区块链平台的一大利器。
项目地址:https://github.com/paritytech/substrate
汇智网原创,转载请标明出处