contract MyContract {
struct Posposal{
uint posposalId;
address voteSponsorAddr;
bytes1 description_;
uint userId;
string message;
uint amount;
}
Posposal[] public curPosposals;
uint public posposalNextId=0;
function MyContract() {
}
uint public expId;
address public expTarget;
uint public expAmount;
string public expMessage;
function issuse(uint userId,address target_,uint amount_,string message_) {
expId=userId;
expMessage=message_;
expAmount=amount_;
expTarget=target_;
curPosposals.push(Posposal(posposalNextId,msg.sender,0x01,userId,message_,amount_));
posposalNextId++;
}}
транзакция может быть выполнена успешно. Я выполняю отладку в кошельке ethereum, но curPosposals[0] не может иметь значения. Почему? Но когда я удаляю строковое сообщение из структуры Posposal, curPosposals[0] имеют значения, но это не те значения, которые я передаю params.
Похоже на проблемы с газом. При отправке транзакции из Web3 установите высокий уровень газа, например { from: "0x123...", gas: 3000000 }
.
Ксавье Лепретр B9lab
Джим Грин