火星链 火星链
Ctrl+D收藏火星链
首页 > 火币APP > 正文

DDR:技术教学 | Solidity编程语言:Address

作者:

时间:1900/1/1 0:00:00

地址

这里要说的地址并不是通常的编程语言中的内存地址,而是交易地址。我们知道区块链进行价值传递的时候必须是通过一个地址传递到另一个地址,无论交易或者合约都离不开地址。因此把地址作Address为Solidity语言的内嵌数据类型会十分方便开发的,更重要的一点就是在Solidity中,所有合约都继承地址Address类型。这不仅仅是单纯的为了在语法上的实现,而在实际情况是合约本身就离不开地址,包括合约的部署和执行都需要地址的参与。地址是两种类型,一种是address,一种是addresspayable。其中addresspayable相比address类型多了两个成员方法send和transfer,表示可以向addresspayable类型的变量进行转帐操作。

地址类型格式要求

以太坊中的地址是20个字节,比如0x52908400098527886E0F7030069857D2E4169EE7,由于一个字节等于8位,所以地址也可以使用uint160来声明。地址通常可以进行比较运算。

声音 | 经济日报:破解区块链广泛应用难题 我国企业已掌握相关核心技术:经济日报刊发文章《破解区块链广泛应用难题 我国企业已掌握相关核心技术》。文章提到,在区块链技术的实际运用过程中,大部分机构和企业往往会遇到3个门槛:一是区块链的性能能否支撑大规模的应用需求。二是如何解决金融行业隐私保护与区块链公开透明特性之间的冲突。三是如何解决区块链点对点交易带来的监管难题。这三大应用门槛,在Facebook推出的数字货币Libra上也得到了验证。不久前,Libra就因未能拿出针对隐私保护和监管需求的解决方案,导致其创始人扎克伯格不得不面对多场听证会质询。对于这些难题,中国区块链技术已经取得突破。文章举例称,迅雷链独创了同构多链架构及优化的共识算法,可以支持百万TPS和秒级确认,高于世界先进水平3个数量级。目前迅雷链合作的企业和政府机构包括中国版权保护中心、南方新媒体等30多家,上链应用所覆盖的行业包括版权保护、医疗、溯源、交通等十几个领域。[2019/11/25]

pragmasolidity>=0

声音 | 通信院总工程师:中国互联网与区块链等新通信技术加速融合增强自主创新能力:据工信部官网消息,在人民网对中国信息通信研究院总工程师余晓晖的专访中,针对我国工业互联网标识解析体系建设进展情况,余晓晖表示,目前我国标识解析体系建设与应用推广成效初现。一是标识解析体系建设取得阶段性进展。5个国家顶级节点已全部上线并试运行,“东西南北中”的顶层布局初步形成,11个二级节点实现上线运营,覆盖高端装备、工程机械、航空航天等领域;二是形成良好的自主创新能力,融合型标识技术方案验证成功,标准体系框架搭建完成,标识解析全系列软件成功研发,并与人工智能、区块链等新一代信息通信技术加速融合;三是标识应用创新发展,标识解析应用在工业品全生命周期管理、设备资产管理、供应链管理、产品溯源等领域,政产学研用多方力量跨界协作,推动标识解析产业生态初步形成。[2019/3/10]

functiongetOwner()publicreturns(address){returnowner;}

functiongetContractAddr()publicviewreturns(address){returnaddress(this);}

声音 | 重庆大学齐爱民:区块链等技术是中小企业的重要转折点:据凤凰网消息,重庆大学教授齐爱民表示,大数据时代,区块链成为底层技术架构,数据成为数字经济的关键生产要素,以数据为基础、以人工智能为主要驱动力的新型经济形态正在蓬勃发展。中国作为世界第二大经济体,互联网应用大国,有着发展区块链技术的先天优势,区块链+大数据是国内中小企业拥抱数字经济的重要转折点。[2018/12/10]

functiongetSenderAddr()publicreturns(address){returnmsg

}

msg

functiontestTranser()payablepublic{addresspayableto=0x52908400098527886E0F7030069857D2E4169EE7;to

functiontestStack1024(uintdepth)payablepublic{addresspayableto=0x52908400098527886E0F7030069857D2E4169EE7;boolr=to

}

/*functiontestCSend()payablepublic{addresspayableto=address(this);this

*/

/*functiontestCTranser()payablepublic{//addresspayableto=0x52908400098527886E0F7030069857D2E4169EE7;address(this)

*/}

方法:

send

send方法相比较transfer方法来说更“底层”一些,如果send方法执行失败,并不会抛出异常,而是返回false。

send调用栈深度不能超过1024,否则会执行失败。这个问题在testStack1024方法中进行了验证,不过传入的数字太大的话,会执行失败,即使没到1024,原因还没找到。

send方法会返回bool类型的结果来表示执行结果。

如果gas不够会执行失败。

建议使用transfer方法,相对更安全些。

transfer

transfer和send使用方法上一样,也是用来进行转帐操作,如果当前帐户余额不足或者对方帐户拒绝转帐,则会执行失败。

如果transfer的调用地址是一个合约地址,则合约的回调函数将被执行。

关call及delegatecall、staticcall单独使用一篇幅来讲。

作者:感谢HPB蓝莲花团队整理供稿。

注:如有问题请在下方留言联系我们技术社群。

汪晓明博客:http://wangxiaoming.com/

汪晓明:HPB芯链创始人,巴比特专栏作家。十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南》,在中国区块链社区以ID“蓝莲花”知名。

标签:DDRADD区块链ESSDDR价格RADDIT区块链工程好就业吗The Essential Coin

火币APP热门资讯
以太坊:以太坊2.0新虚拟机Ewasm指南:三大优势全面吊打EVM

本文探讨的是以太坊虚拟机(EVM)和以太坊WebAssembly(Ewasm),Ewasm将取代EVM成为以太坊2.0网络的状态执行引擎.

1900/1/1 0:00:00
技术入门 | Solidity编程语言 : 布尔型和整型

1functionget()publicviewreturns(uint){returnstoredData;}}国网新疆电力探索区块链技术开展数据上链存证应用:国网新疆电力正积极探索区块链技术.

1900/1/1 0:00:00
比特币:Kleiman起诉澳本聪案件:证词被驳回,澳本聪或须赔偿55万个BTC

8月26日,在Kleiman与澳本聪案件的庭审上,澳本聪证词被驳回。据知情人士称,法官BruceReinhart建议原告获得澳本聪在2013年12月31日之前持有的50%比特币,以及50%与比特.

1900/1/1 0:00:00
KKT:9月,华尔街即将完成在加密资产的全产业链布局

9月初,美国华尔街传出了几个可能改变未来加密金融的大事。其一,资产管理巨头富兰克林邓普顿投资公司已于9月3日向美国证券交易委员会提交了一份政府货币市场基金的初步招募说明书.

1900/1/1 0:00:00
比特币:EOS继续大涨,主流币反击,新的行情开启?

EOS继续大涨,已经从3.1美元蹦到了3.8美元,累计上涨20%以上,其他主流币也开启反击,纷纷像主要的压力位挺进。反观,大饼还是在10300美元附近,并未出现大幅上涨,一直在震荡.

1900/1/1 0:00:00
加密货币:区块链行业周报:资产总市值比上周下跌2.11%,70%的前100项目中有不同程度下跌

本报告由火币区块链研究院出品,报告发布时间2019年8月25日,作者:袁煜明、王蕊摘要本周区块链资产总市值比上周下跌2.11%,TOP100项目中70个项目市值有不同程度下跌.

1900/1/1 0:00:00