2 个不稳定版本
0.4.0 | 2023年6月29日 |
---|---|
0.1.0 | 2023年3月30日 |
#15 在 #rosetta
87KB
2K SLoC
Rosetta Server for Ethereum Chains
该项目包含 BlockchainClient
对以太坊链的实现。
实现的方法包括
config
genesis_block
node_version
current_block
balance
faucet
metadata
submit
block
block_transaction
call
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