地址长度为20字节,160位长度。
pragma solidity ^0.4.4;
contract Test {
address _owner;
uint160 _ownerUint;
function Test() {
_owner = 0x68f5e0b7ba23cdac76b55925546213b92156f217;
_ownerUint = 599218298410463483180905111903336124742404338199;
}
function owner() constant returns (address) {
return _owner;
}
function ownerUnit160() constant returns (uint160) {
return uint160(_owner);
}
function ownerAddress() constant returns (address) {
return address(_ownerUint);
}
}
获取余额 .balance
pragma solidity ^0.4.4;
contract addressBalance {
function getBalance(address addr) constant returns (uint) {
return addr.balance;
}
function getCurrentBalance() constant returns (uint) {
return this.balance;
}
}
获取当前钱包地址:msg.sender
pragma solidity ^0.4.4;
contract Test {
address public _owner;
function Test(){
_owner = msg.sender;
}
}
转账
pragma solidity ^0.4.4;
contract PayableKeyword {
address Account1 = 0x68f5e0b7ba23cdac76b55925546213b92156f217;
function deposit() payable{
//转账
Account1.transfer(msg.value);
}
//获取余额
function getAccount1Balance() constant returns (uint) {
return Account1.balance;
}
//获取余额
function getOwnerBalance() constant returns (uint) {
address Owner = msg.sender; //获取当前钱包地址
return Owner.balance;// 获得当前钱包余额
}
}
this指向的是当前的合约地址
transfer偏上层,如果余额不足会报错异常。send偏底层,有返回值,失败时返回false,没有异常。
pragma solidity ^0.4.4;
contract PayableKeyword {
address Account1 = 0x68f5e0b7ba23cdac76b55925546213b92156f217;
//转账
function deposit() payable returns (bool) {
return Account1.send(msg.value);
}
//获取余额
function getAccount1Balance() constant returns (uint) {
return Account1.balance;
}
//获取余额
function getOwnerBalance() constant returns (uint) {
address Owner = msg.sender; //获取当前钱包地址
return Owner.balance;// 获得当前钱包余额
}
}
支持的运算符
<= < == != >= >
pragma solidity ^0.4.4;
//地址运算符
contract Test {
address address1;
address address2;
function Test() {
address1 = 0x68f5e0b7ba23cdac76b55925546213b92156f217;
address2 = 0x5967eb267b40d68f479d1878dfac3b73dac05c0e;
}
function test1() constant returns (bool) {
return address1 <= address2; //false
}
function test2() constant returns (bool) {
return address1 < address2; //false
}
function test3() constant returns (bool) {
return address1 == address2; //false
}
function test4() constant returns (bool) {
return address1 != address2; //true
}
function test5() constant returns (bool) {
return address1 >= address2; //true
}
function test6() constant returns (bool) {
return address1 > address2; //true
}
}
String
字符串可以通过“”或者''来表示字符串的值,是特殊的可变大小字节数组。(solidity中一个字母或数字对应一个字节,一个汉字对应3个字节)
注意:string字符串不能通过length方法获取其长度。
pragma solidity ^0.4.4;
contract StringLiterals {
string _name; //状态变量
//构造函数
function StringLiterals() {
_name = "hisee";
}
function setString(string name) {
_name = name;
}
function name() constant returns (string) {
return _name;
}
}