Nethereum

如何使用 Nethereum 對 AWS Managed Blockchain 進行 API 呼叫?

  • January 28, 2021

我正在使用 Nethereum 測試 AWS 乙太坊(預覽版),我看到了這種方法來獲得一個塊:

var block = await web3.Eth.Blocks.GetBlockNumber.SendRequestAsync();

但是,AWS Ehtereum 文件說:

託管區塊鏈上的乙太坊(預覽版)僅支持 eth_sendRawTransaction 方法,該方法要求您在將交易發送到節點之前創建並簽署交易。

我相信要與 Nethereum 簽署交易,您可以這樣做:

var signer = new EthereumMessageSigner();
var encoded = signer.EncodeUTF8AndSign(msg1, new EthECKey(privateKey));
var txId = await web3.Eth.Transactions.SendRawTransaction.SendRequestAsync("0x" + encoded);

所以我的問題是,在簽署交易時如何呼叫“GetBlockNumber”?

感謝 Nethereum 的團隊,他們為我提供了解決方案。下面的連結用於對 AWS Managed Blockchain 進行 API 呼叫,以防其他人需要它。

對託管區塊鏈上的乙太坊節點的所有乙太坊 JSON-RPC API 呼叫都使用簽名版本 4 簽名過程進行身份驗證。這意味著只有創建節點的 AWS 賬戶中的授權 IAM 委託人才能使用 API 與其互動。呼叫時必須提供 AWS 憑證(訪問密鑰 ID 和秘密訪問密鑰)。

https://github.com/Nethereum/Nethereum.AWS/

引用自:https://ethereum.stackexchange.com/questions/92708