众享区块链大讲堂78-Solidity编程基础2

众享互联  2019-08-13  新手入门/区块链知识栏目  

  

  你好,欢迎收听众享区块链大讲堂,今天的课程是以太坊技术4之Solidity第二讲。

  上节课我们介绍了Solidity的概念、Solidity编写的源代码结构和合约的结构,本节课我会向大家介绍Solidity类型相关的内容。 

  Solidity是静态类型的语言,因此每个变量在编译时需要明确指定类型。Solidity提供的一些基本类型可以用来组成复杂的类型。限于篇幅,本节课只介绍值类型,其他类型在下一节课介绍。 

布尔类型

  bool:可能的取值为常量值TRUE和false。

  支持的运算符包括:逻辑非(!)、逻辑与(&&)、逻辑或(||)、等于(==)、不等于(!=)。其中逻辑与和逻辑或是短路运算符,如f(x)||g(y),当f(x)为真时,不会继续执行g(y)。

整型

  int/uint:变长的有符号或无符号整型。变量支持的步长以8递增,从uint8到uint256,以及int8到int256。需要注意的是,uint和int默认代表的是uint256和int256。

  支持的运算符包括比较、位运算符和数学运算。数学运算有加减乘除、求余、求平方(**)、左移和右移。

  整数除法总是截断的,但如果运算符是字面量,则不会截断,另外除0会抛异常。移位运算只支持正整数,当移位操作对象为负数时会引起运行时异常。

地址类型(Address)

  address:以太坊地址的长度为20个字节。地址类型有成员,并且是所有合约的基础。支持比较运算操作符。

  地址类型包括的成员有以下几种:

  — balance属性和transfer方法:

  可以使用balance属性去查询一个地址的余额以及使用transfer方法发送以太币(单位是wei)给另一个账户。下面是相应的代码片段示例:

  address x = 0x123;

  address myAddress = this;

  if (x.balance < 10 && myAddress.balance >= 10) x.transfer(10);

  注:如果transfer执行时gas用光或者失败,那么以太币的转账操作将会回退并且当前的合约会停止,停止的同时抛出异常。

  — send方法:

  send方法是transfer的底层方法。如果send执行失败,当前的合约不会异常停止,但是send方法会返回false。

  警告:使用send方法有风险:①调用递归深度不能超过1024;②如果gas不够,执行会失败;③使用send方法需要检查返回值判断是否成功。相比较transfer方法和send方法,建议使用transfer会更好一些······

  

点击左下角“阅读 原文”查看全部内容 

  关于众享比特

  北京众享比特科技有限公司成立于2014年,是国内最早从事区块链底层平台和应用案例开发的技术服务公司;总部位于北京,在上海、南京、苏州、深圳、广州、长沙、合肥、杭州、新加坡等地设有子公司,2019年已经完成C轮融资。

  众享比特一直致力于分布式技术的探索,是国内外领先的金融与监管科技解决方案提供商,国内最早进行区块链技术研发的公司。现为国家高新技术企业、中关村高新技术企业、中国密码学会会员单位、区块链超级账本Hyperledger成员,共取得了74项软件著作权,已申请56项核心专利,并有18项获得授权、区块链专利授权数量国内排名前三。

  同时在产学研方面技术投入多方纵深布局,与中国科学院深圳先进技术研究院共建区块链物联网实验室、与南京大学信息管理学院共建区块链创新实验室,探索区块链底层技术的开发与应用,将分布式、区块链技术与行业应用深度结合。

  2018年5月,众享比特自主研发的区块链清分管理平台、区块链信用证管理平台、区块链保函管理平台、区块链黑名单共享平台、区块链敏感数据审计平台、分布式智能配电信息安全系统等多项解决方案录入由工信部主编的《2018中国区块链产业白皮书》。2018年6月,众享比特凭借自身创新实力,成功入选福布斯中国“2018中国最具创新力企业榜”,成为中国50家最具创新力企业之一。同月,获得胡润百富评选的“中国区块链企业TOP20”。

  2019年3月28日众享比特举办新产品发布会,隆重推出区块链供应链金融平台、区块链积分管理平台、区块链存证管理平台、区块链数据共享平台和区块链溯源管理平台等五大产品平台,打破常规,依托丰富的项目服务经验和技术研发功底的优势,以创新产品模式重新定义区块链解决方案,为用户带来极致体验和全新价值。

  2019年众享将充分发挥技术优势,从产品化、开源化和管道化三个方面来布局市场资源:

  ◆ 产品化:面向金融、政府、公安、能源、交通、农业、供应链管理等领域,构建多方协同的分布式账本,产品化、模块化区块链底层技术平台,优化流程、提高效率;

  ◆ 开源化:构建基于ChainSQL的可信基础设施,建设ChainSQL开源社区和开源联盟,推广区块链技术孵化有价值场景,结合人工智能进行分析、并在各垂直行业应用;

  ◆ 管道化:渠道为王、分工协作,众享比特负责打磨区块链底层技术和产品军火库,系统集成商以及渠道合作伙伴负责搭建销售管道,共享区块链技术发展的红利。

  秉承“打造分布式网络平台,引领金融与监管科技”的理念,众享比特充分发挥公司的技术优势,向金融、政府、电力、能源、医疗、农业、工控、教育、贸易、供应链管理行业等商业客户提供更高效、更经济、更安全的企业级区块链技术服务及解决方案。

  推荐阅读

◎众享区块链大讲堂77-Solidity编程基础1◎众享区块链大讲堂76-以太坊智能合约的定义◎众享区块链大讲堂75-EVM运行原理2◎众享区块链大讲堂74-EVM运行原理1◎众享区块链大讲堂73-以太坊交易及GAS计算

  

  

版权信息
作者:众享比特
来源:众享互联

关于我们

联系我们

作者进驻

手机版

Copyright © 2013 比特巴 www.btb8.com
始建于2013年,提供比特币 区块链及数字货币新闻、技术教程、测评、项目周报、人物等资讯
本页面提供的是新手入门教程资讯,提供入门级的比特币知识、区块链知识以及各类数字货币知识,是数字货币爱好者入门、精通的好导师。