Bagaimana cara menginput bytes32 [] pada remix?

Oct 21 2020

Saya memiliki konstruktor seperti ini:

constructor(bytes32[] proposalNames) public {
...

Bagaimana cara memasukkan nilai untuk itu di deplyoment dengan remix? Saya mencoba ["foo", "bar"]tetapi dikatakan:

pembuatan Ballot salah: Argumen pengkodean kesalahan: Kesalahan: nilai bytes32 tidak valid (arg = "", coderType = "bytes32", value = "foo", versi = 4.0.47)

Jawaban

2 goodvibration Oct 20 2020 at 23:24

Ini:

const Web3 = require("web3");

console.log(Web3.utils.asciiToHex("foo"));
console.log(Web3.utils.asciiToHex("bar"));

Memberikan:

0x666f6f
0x626172

Jadi saya yakin salah satu dari berikut ini akan berhasil untuk Anda:

[0x666f6f, 0x626172]
["0x666f6f", "0x626172"]
[0x666f6f0000000000000000000000000000000000000000000000000000000000, 0x6261720000000000000000000000000000000000000000000000000000000000]
["0x666f6f0000000000000000000000000000000000000000000000000000000000", "0x6261720000000000000000000000000000000000000000000000000000000000"]