Динамический массив не может быть входными параметрами

contract MyContract {
    uint public len;
    mapping(uint=>byte) public names;
    function initContracts(byte[] contractNames_){
        for(uint i=0;i<contractNames_.length;i++){
            names[i]=contractNames_[i];
        }
        len=contractNames_.length;
    }
}

Когда я использую Mist и передаю [0x01,0x02,0x03], кажется, что byte[] contractNames_не может быть назначен на отображение памяти names, а переменная lenостается 0.

Вы пробовали ["0x01","0x02","0x03"]использовать шестнадцатеричные строки, указанные в Mist? Я попробовал ваш код как есть, и он работал с шестнадцатеричными строками в кавычках в твердости браузера (вывод на pastebin.com/psYDzPn0 ).
большое спасибо! [0x01,0x02,0x03] недействителен.

Ответы (1)

Ввод [0x01,0x02,0x03] должен был использовать шестнадцатеричные строки в кавычках:["0x01","0x02","0x03"]

Код работает как есть в браузере, и OP подтвердил, что он также работает в Mist.