2 个不稳定版本
| 0.4.0 | 2023年6月29日 |
|---|---|
| 0.1.0 | 2023年3月30日 |
#15 在 #rosetta
87KB
2K SLoC
Rosetta Server for Ethereum Chains
该项目包含 BlockchainClient 对以太坊链的实现。
实现的方法包括
configgenesis_blocknode_versioncurrent_blockbalancefaucetmetadatasubmitblockblock_transactioncall
config:
此方法返回 BlockchainConfig,其中包含以太坊链特定配置的详细信息。
genesis_block:
返回创世区块标识符。
node_version:
返回节点客户端版本。
current_block:
使用 RPC 获取当前区块并返回其标识符。
balance:
从链上获取账户余额并返回。它接受两个参数:address:要获取余额的账户地址。 block:要获取账户余额的区块标识符。
block:
此函数接受 PartialBlockIdentifier,它包含一个区块索引或哈希,并返回该区块的交易和在该交易中发生的操作。
block_transaction:
此函数接受:block:这是要从其中获取交易的区块标识符。 tx:要获取的交易标识符。
并返回指定区块中特定交易及其操作。
faucet:
此方法用于用一定数量的代币为账户提供资金。它接受两个参数:address:要提供资金的账户地址。 amount:要提供的代币数量。
metadata:
此调用用于获取账户的非ce,它接受两个参数:public_key:这是发送者的公钥。 options:这是创建元数据所需的参数。对于以太坊链,它需要 destination:接收者的地址。 amount:要转移给接收者的金额。 data:调用的编码输入数据。
它返回包含 chain_id、nonce 和交易气详情的 EthereumMetadata。
submit:
它接收交易字节,这是签名后的交易字节,并将签名后的交易提交到链上,并返回其交易 ID。
call:
此函数接收包含 method 和 parameters 的 CallRequest,并返回函数返回的值、存储中特定位置存储的值或存储中特定位置存储的值的证明。
method:这是一个包含 3 个由 -(破折号)分隔的值的字符串。
1. contract_address:这是合约的名称。
2. 合约调用时的 method_signature 或存储调用时的 position。
3. call_type:这是调用的类型。它可以是 call、storage 或 storage_proof。
parameters:它接收调用或存储调用所需的额外参数。在存储调用或存储证明调用中,用户可以传递 block_number。
contract_address:
正如其名所示,方法参数的第一部分是合约地址。
method_signature:
对于合约调用,这是我们要调用的函数的方法签名。对于存储调用,这是我们要从其中获取值的存储位置。
call_type:
call:这用于从合约中调用函数以获取一些值。合约发送调用由通用钱包管理。
storage:这种调用类型可以用于从给定合约获取存储,前提是知道存储的位置。
storage_proof:它返回给定位置存储在合约存储中的值的证明。
transaction_receipt:这种调用类型可以用于获取指定事务的事务收据。
依赖项
~39–59MB
~1M SLoC