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++;
}}
Die Transaktion konnte erfolgreich durchgeführt werden. Ich debugge in der Ethereum-Brieftasche, aber die curPosposals[0] konnten die Werte nicht haben. Warum? Aber wenn ich die Zeichenfolgennachricht aus struct Posposal entferne, haben curPosposals [0] die Werte, aber es sind nicht die Werte, die ich params übergebe.
Das hört sich nach einem Gasproblem an. Stellen Sie beim Senden der Transaktion von Web3 das Gas hoch ein, z. B. { from: "0x123...", gas: 3000000 }
.
Xavier Leprêtre B9lab
Jim Green