2 个不稳定版本

0.4.0 2023年6月29日
0.1.0 2023年3月30日

#15#rosetta


用于 rosetta-server-astar

MIT 许可证

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_idnonce 和交易气详情的 EthereumMetadata

submit:

它接收交易字节,这是签名后的交易字节,并将签名后的交易提交到链上,并返回其交易 ID。

call:

此函数接收包含 methodparametersCallRequest,并返回函数返回的值、存储中特定位置存储的值或存储中特定位置存储的值的证明。

method:这是一个包含 3 个由 -(破折号)分隔的值的字符串。
1. contract_address:这是合约的名称。
2. 合约调用时的 method_signature 或存储调用时的 position
3. call_type:这是调用的类型。它可以是 callstoragestorage_proof

parameters:它接收调用或存储调用所需的额外参数。在存储调用或存储证明调用中,用户可以传递 block_number

contract_address:

正如其名所示,方法参数的第一部分是合约地址。

method_signature:

对于合约调用,这是我们要调用的函数的方法签名。对于存储调用,这是我们要从其中获取值的存储位置。

call_type:

call:这用于从合约中调用函数以获取一些值。合约发送调用由通用钱包管理。

storage:这种调用类型可以用于从给定合约获取存储,前提是知道存储的位置。

storage_proof:它返回给定位置存储在合约存储中的值的证明。

transaction_receipt:这种调用类型可以用于获取指定事务的事务收据。

依赖项

~39–59MB
~1M SLoC