[区块链&DAPP介绍 Day11] Solidity 教学 - units and globally available variables-2

今日来延续昨日没有写完的全域变数。

Error Handlin

//里面可以做一些条件判断,如果为false,此次transcation会失败,通常用於内部错误
assert(owner != msg.sender);
//通常用於如果为false 则会还原状态,通常拿来判断输入值对不对
require(owner != msg.sender);
//同上,只是多了可以输入自订的错误讯息
require(owner != mag.sender,"not owner");
//执行会直接终止,并且恢复状态。
revert();
// 同上,但也是可以自订错误的讯息
revert("revert");

数学相关函式

// 此为加法,k 的参数为精度。
addmod(uint x, uint y, uint k) returns (uint)
// 此为减法,k 一样为精度。
mulmod(uint x, uint y, uint k) returns (uint)
// 做sha256 运算
sha256(bytes memory) returns (bytes32)

其余的全域变数

//当前位址余额。
<address>.balance (uint256)
//转指定额度到该位址,如果失败会恢复,此操作消耗2300 gas
<address payable>.transfer(uint256 amount)
//跟上面差不多,多了回传 bool ,告知成功或失败。
<address payable>.send(uint256 amount) returns (bool)

其他还有更多的介绍,这边并没有全部列出来,需要更多详细的说明,建议直接上 官网 找资料


<<:  【Day7】 Introduction – If-Else

>>:  5 开始把结构写成程序吧!

Day 22 菜鸟的 helm 纪录 - 进阶篇

在昨天介绍了Helm这一工具,那们今天就来介绍如何建立属於自己的Helm repo吧!! ps.如果...

Day 15:树(tree)

树是一种抽象资料结构,跟链结串列一样是由节点组成的资料集合。它的形状类似家族树,或者说像向下生长的树...

[资料库] 学习笔记 - 商城交易之产生订单

这次练习的题目是做出商城中产生订单的功能 功能主要需求:产生订单 (目前一笔订单只能买一个品项)、库...

目录 [10.12更新]

前言 (入门~初阶程度) 篇名"登堂入室",写得冠冕堂皇也只是因为喜欢很台的发音...

Day28-介接 API(番外篇 III)Dialogflow ES 之 Fulfillment 与 Events

大家好~ 今天会用实作的方式去认识 Dialogflow ES 的 Fulfillment 与 Ev...