如何在c#中解码Eth原始日志数据



我有一个从Covalent (https://api.covalenthq.com/v1/137/events/topics/)检索到的原始日志数据列表。我知道这个日志对应的事件,但是我如何将它解码成这个事件呢?

它看起来像" 0x0000000000000000000000000000000000000000000000000000002d0000000000000000000000000000000097922d241bd4e4ef4bb0e13693284h8ea75a6c52 ">

事件类似于

[Event("TokenFound")]
public class TokenFoundEventDTO : IEventDTO
{
[Parameter("uint256", "tokenId", 1, false )]
public BigInteger TokenId { get; set; }
[Parameter("address", "buyer", 2, false )]
public string? Buyer { get; set; }
}

我期望以太坊提供一些东西,我可以将原始日志数据转换为这样的事件,但我找不到这样的东西。谁能给我指路吗?

谢谢!

令牌id似乎是一个256位的整型。这是32个字节,在十六进制字符串中组成64个字符。如果你修剪开始的0x,并在中间分割其余部分,你将留下两个64个字符的字符串。

000000000000000000000000000000000000000000000000000000000000002d
00000000000000000000000097922d241bd4e4ef4bb0e13693284H8ea75a6c52

第一个(以"2d"结尾)应该被解析为BigInteger(在此之前再加上0x),第二个似乎是买方地址(可能去掉前导零)。

相关内容

  • 没有找到相关文章

最新更新