Solidity
將地址的 json 傳遞給 Contract
我想將一組 json 數據導入到我的構造契約中。我想將一個地址數組傳遞給它以保存到我的契約中的一個數組中。這可能嗎?我看過一些關於將 json 表述為契約的文章,但無法完全提取我想要的內容。
我擁有的 json 數據的結構是這樣的;- 我只想提取 HolderAddress 的。
[ { "HolderAddress": "0x00007569643bc1709561ec2e86f385df3759e5dd", "Balance": 100, "PendingBalanceUpdate": "No" }, { "HolderAddress": "0x00089553ab5a08bfdf1dc324845a4ad7a63e26b8", "Balance": 9, "PendingBalanceUpdate": "No" }, { "HolderAddress": "0x0017bf3bca94a016a27d496363cec4d868758bb7", "Balance": 650, "PendingBalanceUpdate": "No" } ]
可以在部署契約時傳遞這些數據嗎?我將如何連結契約以讀取 json 文件?
非常感謝
提款機,你可以做的是:
constructor(address[] memory addresses, uint256[] memory balances, bool[] memory flags) public { uint256 length = addresses.length; require(length == balances.length, "INVALID_INPUT"); require(length == flags.length, "INVALID_INPUT"); for (uint256 i = 0; i < length; i++) { // do whatever you want to do with the input data } }
作為
arr
您問題中的對像數組,您可以使用:
arr.map(x => x.HolderAddress)
作為第一個參數arr.map(x => x.Balance)
作為第二個參數arr.map(x => x.PendingBalanceUpdate != "No")
作為第三個參數