У меня проблемы с преобразованием uint256 из Solidity в читаемый объект c #.
public Transaction DecodeInputData(Transaction tx)
{
EthApiContractService ethApi = new EthApiContractService(null);
var contract = ethApi.GetContract(Abi.Replace(@"\", string.Empty), Address);
var transfer = contract.GetFunction("transfer");
var decodedTx = transfer.DecodeInput(tx.input);
tx.to = (string)decodedTx[0].Result;
tx.value = "0x" + ((BigInteger)decodedTx[1].Result).ToString("x");
return tx;
}
Пример Tx: https://etherscan.io/tx/0x622760ad1a0ead8d16641d5888b8c36cb67be5369556f8887499f4ad3e3d1c3d
Мы должны иметь возможность преобразовать переменную decodedTx [1] .Result (ее: {53809663494440740791636285293469688360281260987263635605451211260198698423701}) в 83218945020000000000.
Мы конвертируем это значение в гекс для совместимости. Но гекс, который я получаю, это; "0x76f730b400000000000000000000000000000000000000000000000482e51595"
Я использую библиотеку Nethereum с ядром .net 2.1