宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > FIL > 正文

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

作者:

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

地址

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

地址类型格式要求

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

贵州省推出基于区块链等技术的全域智慧旅游平台:日前,贵州省推出“一码游贵州”全域智慧旅游平台,整合了大数据、5G直播、新零售、区块链等多项前沿科技,通过全省一个二维码,解决游客在贵州“吃、住、行、游、购、娱”等方面的个性化需求,助力全省文旅产业高质量转型升级。(光明日报)[2020/5/7]

pragmasolidity>=0

functiongetOwner()publicreturns(address){returnowner;}

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

functiongetSenderAddr()publicreturns(address){returnmsg

}

声音 | 萨克拉门托国王队首席技术官:比特币价格上涨时粉丝放弃为球队消费:11月21日,NBA萨克拉门托国王队(Sacramento Kings)的首席技术官Ryan Montoya表示,来自世界各地的人们用比特币购买球队的球衣、门票和不同的装备。我们甚至在竞技场里放了一台比特币ATM。然后比特币价格涨到了1200美元,他们就放弃了比特币的消费。”据悉,萨克拉门托队早在2014年就支持比特币购买商品,当时比特币的价值为800美元,比目前的价格低10倍。(CoinTelegraph)[2019/11/21]

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“蓝莲花”知名。

标签:DDRADDDRERESDDRTDADDYDOGEDreamPad CapitalWeAreSatoshi

FIL热门资讯
从上海区块链国际周Demo Day看区块链应用落地实体经济

从“区块链是什么”到“区块链能做什么”,再到“区块链做了什么”,10年间,区块链从技术探索走向商业应用的步伐不断加快。与此同时,过去两年区块链行业在经历一波大起大落的过程之后,人们开始相信,区块链只有和实体经济对接,才能实现良性发展.

1900/1/1 0:00:00
关于2019年爆火的Staking,这八点你要了解

引言 继2018年的ICO、通证经济、DAPP等热门概念之后,2019年“Staking”这一新概念占尽了风头,并在以以太坊为首的POS共识生态中日渐火热.

1900/1/1 0:00:00
专家激辩:Libra横空出世,央行数字货币呼之欲出,会产生哪些影响?

Libra横空出世,在3个多月的时间里,越来越多的人投入到对数字货币的研究,全球掀起了一股对数字货币的探讨热潮。与此同时,我国也在加紧推出央行数字货币.

1900/1/1 0:00:00
比特币ETF审批再迎最终决定日期,市场预期暂不乐观

由于接近10月份美国证券交易委员会对比特币ETF提议作出最终决定的时间节点,加之VanEck/SolidX近期撤回提案,而由Bitwise提起的另一个比特币ETF提案仍继续等待监管审批,多次延迟的比特币ETF近期再度受到关注.

1900/1/1 0:00:00
蚂蚁金服总裁:区块链已成为蚂蚁核心“技数”能力

中新经纬客户端9月22日电9月22日,在清华五道口举办的2019专题论坛“金融科技与小微贷款的未来”现场,蚂蚁金服总裁胡晓明指出,科技创新金融生产力,未来的金融中心一定是科技中心.

1900/1/1 0:00:00
如何稳赚不赔、成为BTC逃顶之王?

有没有一种稳赚不赔的投资方法?我相信这是每一个投资者都想知道的答案。不过,预测行情不是一件容易的事,周期性的起起落落是经济常态,对于带有大量投机成分的资产来说,涨跌会被进一步放大。比如比特币.

1900/1/1 0:00:00