I try to deploy the following code:
contract Sample {In Mix IDE it works correctly but does not work on Ethereum testnet(balance not changed). You can try here: http://testnet.etherscan.io/address/0xea1410a6d5ef3d6d5a392b24087c24845e7170a3 . I noticed that contract works if delete participants[n].amount = amount OR amountRaised += amount line. So, I can use only one msg.value variable. How can I use msg.value twice?struct Participant { address etherAddress; uint amount; } Participant[] public participants; uint public amountRaised; function() { enter(); } function enter() { uint amount = msg.value; uint n = participants.length; participants.length += 1; participants[n].etherAddress = msg.sender; participants[n].amount = amount; amountRaised += amount; }
}