参考
contract Bet {
address owner;
// every vote info
struct Betinfo {
address addr;
bytes32 choice;
}
// all voted info
Betinfo[] public bts;
uint public length;
function Bet() {
owner = msg.sender;
}
function kill() {
if (msg.sender == owner)
suicide(owner);
}
function getBalance() public constant returns (uint) {
return this.balance;
}
function getNums() public constant returns (uint) {
return bts.length;
}
function adminWithdraw() {
if (owner != msg.sender)
return;
msg.sender.send(this.balance);
}
function doBet(bytes32 choice) public {
bts.push(Betinfo({addr: msg.sender, choice:choice}));
length = bts.length;
}
function drawLotterty(bytes32 luckyone) public {
if (owner != msg.sender)
throw;
var count = 0;
uint256 permoney = 0;
var i = 0;
for (i = 0; i < bts.length; i++) {
if (bts[i].choice == luckyone) {
count++;
}
}
permoney = this.balance / count;
// send the money
for (i = 0; i < bts.length; i++) {
if (bts[i].choice == luckyone) {
bts[i].addr.send(permoney);
}
}
delete bts;
length = 0;
}
}
- push();
- delete bts;
- constant 修饰符
log.Println("v.id:", v.Id_) // v.id: ObjectIdHex("574418a5e046861c33000001")
hex := v.Id_.Hex()
log.Println("hex:", hex) // hex: 574418a5e046861c33000001
objhex := bson.ObjectIdHex(hex)
log.Println("objhex:", objhex) // objhex: ObjectIdHex("574418a5e046861c33000001")
近期评论