структура имеет некоторые ошибки в прочности [дубликат]

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.

Возможно, вы могли бы удалить этот вопрос, теперь, когда вы задали его снова.
никто не смог мне четко ответить, этот вопрос может быть ошибкой в ​​​​языке солидности.

Ответы (1)

Похоже на проблемы с газом. При отправке транзакции из Web3 установите высокий уровень газа, например { from: "0x123...", gas: 3000000 }.

С газом проблем нет, отлаживаю в эфириум кошельках, ставлю максмиум газ.