地址和交易部分
pragma solidity ^0.4.16;
contract addressTest{
//以太坊的地址uint160 address 可以相互转换
address account1;
address account2 = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db;
function returnaddress1() public view returns(address){
return account1;
}
function returnaddress2() public view returns(address){
return account2;
}
function returnaddress4() public view returns(uint160){
return uint160(account2);
}
function returnaddress6(uint160 num) public view returns(address){
return address(num);
}
//可以通过地址.balance获取某个地址的余额
function returnmoney() public view returns(uint,uint){
return (this.balance,account2.balance);
}
//this可以获得合约地址
function returnthis() public view returns(address){
return this;
}
//对其他账户的转账需要使用账户名称.transfer(msg.value)或者账户名称.transfer(数量 单位,如1 ether)如果在输入value的同时又写的是数量 单位,那么多余的value就自动转账到合约地址里去
//如果对当前合约使用transfer转账this.transfer(msg.value)则必须需要一个回滚函数
function transfermoney() public payable returns(uint){
address accountone= 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C;
accountone.transfer(msg.value);
}
function transfertwo() public payable returns(uint){
this.transfer(msg.value);
return this.balance;
}
function transferthree() public payable returns(uint){
address accounttwo = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148;
accounttwo.transfer(5 ether);
return this.balance;
}
function() payable{
}
}