Solidity语言的错误检查提供了Require()、Revert()、Assert(),这三种方便的API调用,而这三种用途分别不同,毕竟牵涉到瓦斯费的问题,因此才会与过往的程序语言有些许的差异,
Require
require()通常会被使用在输入值的验证检查,因为它的特性主要是能够退回剩余...
Remix IDE的Debug方式其实也类似于我们开发软件程序过程中的Debug流程,编辑好程序代码之后,经过编译,发布到暂存链上,对每一个区块进行Debug,过程中逐步排查出每一个步骤的问题点。
Remix IDE这套编辑器的好处就是使用起来非方便,不会让我们害怕区块链的开发,也透过虚拟链的方式让我...
「人」与「人」之间无非时时刻刻都在交易,只是每一种交易的形式与媒介有所不同,而区块链的世界也有特定的交易单位,主要分为两大类型的单位, 分别是以太币单位以及时间单位。
以太币单位
最小单位为「wei」, 而其余主要会用到的单位分别是「gwei」与「ether」。
时间单位
时间单位的...
这次的篇章主要在介绍智能合约状态的可变性,透过约束来限制状态,避免随意更改状态导致错误的合约出现。
我们都知道状态在智能合约中扮演着非常重要的角色,经过什么事件之后变化为什么状态,甚至某些特定状态是不可被修改的,又或者是某些功能开放给外部使用时,不可以读取到合约内状态…,都围绕在可变与不可变之间,而S...
今年加密货币被盗的规模已经创下历史新高,黑客从加密应用程序中窃取了超过2B 美元。本文将通过分析100个加密货币黑客攻击事件,对加密货币黑客攻击进行分类,概述迄今为止最有利可图的黑客所使用的方法并讨论加密货币安全的未来。
加密黑客攻击的分类
加密应用生态系统由可互操作的协议组成,由智能合约提供支持...
10月7日BNB Chain的跨链桥(BSC Token Hub)遭到黑客攻击, 有价值约5亿美金的BNB 被黑。由于涉及的金额较为庞大,并且涉及多个链之间的跨链,目前总损失金额仍未确定。
那么,这起震动整个加密行业的重大安全事故是如何发生的呢?下文将为你一一进行分析。
为何黑客会盯上BNB...
数据形态
数据形态在合约当中扮演着什么角色呢?之前有介绍过状态变数可以储存一些变化值,而储存什么类型的值就是所谓的数据形态,不同的数据形态可以处理的事物也有所不同,因此我们也需要了解一些基本的数据形态以及特性之后,未来开发合约之时才能更加稳固。
而Solidity的基本数据形态如下图:...
大致上理解每个档案的每份智能合约都是一个个的区块,而这一个篇章主要着重于智能合约中的每个区块的组成元素进行分项说明。
今天的范例会以简单的银行存款与提款流程进行示范,过程中将一步步的使用上述7种元素完成功能,这七种功能也是未来撰写合约时非常常用的技巧。
State Variables(状态变数)...
Remix这款云端编辑器非常方便,任何地方只要有浏览器就能进行开发,已经不同于以往的开发模式,相信这种开发方式在未来也会逐渐盛行,而且自由弹性度非常的高,在习惯的个人电脑上开发也会暂存我们的环境设定,今天换了一个新的电脑的浏览器之后,也会是全新的环境,未来或许会发展出绑定帐号的功能,就类似于我们使用的Go...
开发之前我们先来做一些前置准备,就如同一道料理在完成之前,会预先准备厨具、食材,而我们就来看看这些厨具与食材究竟能够煮出什么令人惊艳的料理吧!
那我们需要准备哪些东西呢?
● IDE: 基础版( Remix )、进阶版( Vscode )。
● 程序语言:Solidity。
● 程序码储存...