![](https://img-blog.csdnimg.cn/20210511143750196.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Solidity智能合约开发
文章平均质量分 71
Solidity智能合约开发
Blockchain_KT
xdm,停止更新此博客啦。。。。。。
展开
-
FISCO BCOS——SmartDev-Contract——MarriageEvidence结婚证书合约案例分析
谨以白头之约书向鸿笺,好将红叶之盟载明鸳谱。三千年来,结婚证书的形式一直在变化,但我们相信,它承载的美好爱情和对幸福婚姻生活的向往从未变过。使用区块链技术,让结婚证书上链,定格在区块链的历史长河中——永存。原创 2021-12-27 20:37:55 · 13618 阅读 · 2 评论 -
FISCO BCOS——SmartDev-Contract——RewardPoint积分模板合约案例分析
在区块链的业务方案中,积分系统是非常常见的一种场景。基于智能合约的积分系统,支持多家机构发行、用户注册、积分消费、积分销户、用户销户等多种功能。原创 2021-12-27 16:03:21 · 1450 阅读 · 2 评论 -
FISCO BCOS——SmartDev-Contract——Traceability商品溯源合约案例分析
产品溯源是将当前先进的物联网技术、自动控制技术、自动识别技术、互联网技术结合利用,通过专业的机器设备对单件产品赋予唯一的一维码或者二维码作为防伪身份证,实现“一物一码”,然后可对产品的生产、仓储、分销、物流运输、市场稽查、销售终端等各个环节采集数据并追踪,构成产品的生产、仓储、销售、流通和服务的一个全生命周期管理原创 2021-12-26 18:45:01 · 15347 阅读 · 7 评论 -
智能合约开发实例(4)——房产产权——2021.7.30
转载请备注,喜欢请三连。源码链接:https://github.com/Blockchain-Key/Contract-instance运行环境:WeBase-Front (搭建环境-请参考笔者专栏文章)作者:KT智能合约开发实例(4)——房产产权一丶目的二丶HouseTransfer合约(1)合约截图(2)合约使用流程①部署合约②管理员调用NewHouseFor接口③业主调用transferHouse接口一丶目的实现产权产权的存储以及转让二丶HouseTransfer合约(1)合.原创 2021-07-30 23:01:03 · 912 阅读 · 0 评论 -
NFT合约解析(5)——Strings.sol——2021.7.30
NFT合约解析(5)——String.sol一丶配置需求:1.环境需求:WeBASE-Front2.合约语言:Solidity >=0.6.0 <0.8.0二丶Strings.sol合约解析四丶上一篇:NFT合约解析(4)——Counters.sol五丶下一篇:未完待续六丶参考相关文章一丶配置需求:1.环境需求:WeBASE-Front2.合约语言:Solidity >=0.6.0 <0.8.0二丶Strings.sol合约解析// SPDX-License-Identif原创 2021-07-30 21:37:23 · 644 阅读 · 0 评论 -
智能合约开发实例(3)——结婚证书——2021.7.28
转载请备注,喜欢请三连。源码链接:https://github.com/Blockchain-Key/Contract-instance运行环境:WeBase-Front (搭建环境-请参考笔者专栏文章)作者:KT智能合约开发实例(3)——结婚证书一丶目的一丶合约介绍(1)Character.sol(2)Evidence使用请参考笔者文章三丶MarriageEvidence合约(1)合约截图(2)结婚证书签发流程①部署合约②调用添加角色接口③调用查看角色信息接口(验证是否添加成功)④部署结婚证.原创 2021-07-28 22:21:26 · 974 阅读 · 0 评论 -
区块链“智能合约”从基础到入门——掌握本篇就够啦!!!
区块链“智能合约”从基础到入门——掌握本篇就够啦!!!一丶开发环境:(1)Remix(2)WeBASE-Front二丶Solidity概述三丶基本类型(1)Int(2)address(3)Bool(4)数组(5)Char and String(6)Mapping(7)Struct四丶预定义变量(1)block(2)msg五丶Event六丶控制结构七丶Units(1)EtherUnits(2)TimeUnits八丶Contracts(1)状态变量(2)函数(3)Payable(4)visibility(5)构原创 2021-07-04 03:15:19 · 5857 阅读 · 3 评论 -
NFT合约解析(4)——Counters.sol——2021.5.19
NFT合约解析(4)——Counters.sol一丶配置需求:1.环境需求:WeBASE-Front2.合约语言:Solidity >=0.6.0 <0.8.0二丶Counters.sol三丶解析合约四丶上一篇:NFT合约解析(3)——SafeMath.sol五丶下一篇:未完待续六丶参考相关文章一丶配置需求:1.环境需求:WeBASE-Front2.合约语言:Solidity >=0.6.0 <0.8.0二丶Counters.solpragma solidity >原创 2021-05-19 09:35:34 · 2915 阅读 · 6 评论 -
solidity笔记(11)——struct用法——2021.5.19
solidity笔记(11)——struct用法一丶作用:二丶注意:三丶上一篇:solidity笔记(10)——using for用法一丶作用: struct Voter { uint weight; bool voted; address delegate; uint vote; }自定义结构体类型二丶注意:在合约外部声明结构体可以使其被多个合约共享在合约内部定义结构体,这使得它们仅在此合约和衍生合约(继承 or原创 2021-05-19 09:12:31 · 716 阅读 · 2 评论 -
solidity笔记(10)——using for用法——2021.5.17
solidity笔记(9)——using for用法一丶作用:二丶注意:三丶上一篇:solidity笔记(9)——library用法一丶作用:using A for B可用于在合约的上下文中,将库函数(来自库A)附加到任何类型(B)二丶注意:这些函数将接收被调用的对象作为它们的第一个参数using A for *——库A的功能可以附加到任何类型。附加库中的所有函数,即使那些第一个参数的类型与对象的类型不匹配的函数也是如此。在调用函数时检查类型,并执行函数重载解析。指令仅在当前合约内原创 2021-05-17 15:04:02 · 1509 阅读 · 1 评论 -
NFT合约解析(3)——SafeMath.sol——2021.5.17
NFT合约解析(3)——SafeMath.sol一丶配置需求:1.环境需求:WeBASE-Front2.合约语言:Solidity >=0.6.0 <0.8.0二丶SafeMath.sol合约三丶解析合约(1)创建库合约(2)Try加减乘除取余(3)加减乘除取余操作(3)重载减,除,取余方法(返回错误值)四丶上一篇:NFT合约解析(2)——Ownable.sol五丶参考相关文章一丶配置需求:1.环境需求:WeBASE-Front2.合约语言:Solidity >=0.6.0 <原创 2021-05-17 14:49:28 · 3680 阅读 · 15 评论 -
solidity笔记(9)——library用法——2021.5.17
solidity笔记(9)——library用法一丶作用:二丶限制(与合约相比):三丶调用保护:一丶作用:库与合约类似,只需要在特定的地址部署一次库函数被调用,它的代码在调用合约的上下文中执行,即 this 指向调用合约,特别是可以访问调用合约的存储每个库都是一段独立的代码,所以它仅能访问调用合约明确提供的状态变量(否则它就无法通过名字访问这些变量)我们假定库是无状态的,所以如果它们不修改状态(view 或者 pure 函数), 库函数可以通过直接调用来使用库可以看作是使用他们的合约的隐式的基原创 2021-05-17 14:12:49 · 1518 阅读 · 7 评论 -
solidity笔记(8)——pure用法——2021.5.13
solidity笔记(8)——pure用法一丶功能:二丶注意三丶上一篇:solidity笔记(7)——存储区域memory storage stack一丶功能:函数声明关键字 ,pure,承诺不读取或修改状态。二丶注意编译器没有强制 pure 方法不能读取状态。读取状态变量。访问this.balance 或者 .balance访问block.tx msg中任意成员(除了msg.sig和msg.data之外)调用任何未标记为 pure 的函数。使用包含某些操作码的内联汇编。三丶上一原创 2021-05-13 11:32:21 · 796 阅读 · 1 评论 -
solidity笔记(7)——存储区域memory storage stack——2021.5.12
solidity笔记(7)——存储区域memory storage stack一丶memory:二丶storage:三丶stack:四丶存储区域:五丶注意事项:四丶上一篇:solidity笔记(6)——modifier用法一丶memory:内存memory,用于暂存数据。其中存储的内容会在函数被调用(包括外部函数)时擦除,所以其使用开销相对较小。二丶storage:存储storage,贮存了合约声明中所有的变量。 虚拟机会为每份合约分别划出一片独立的 存储storage 区域,并在函数相互调用原创 2021-05-12 10:04:38 · 1475 阅读 · 7 评论 -
NFT合约解析(2)——Ownable.sol——2021.5.10
NFT合约解读(2)——Ownable.sol一丶配置需求:1.环境需求:WeBASE-Front2.合约语言:Solidity 0.6.10二丶Ownable.sol合约三丶解读合约(1)import "./Context.sol";(2)abstract contract Ownable is Context(3)address private _owner;(4)event OwnershipTransferred(address indexed previousOwner, address inde原创 2021-05-10 22:13:43 · 11813 阅读 · 4 评论 -
solidity笔记(6)——modifier用法——2021.5.10
solidity笔记(6)——modifier用法一丶功能:二丶注意:四丶上一篇:solidity笔记(5)——event用法一丶功能:1.使用 修饰器modifier 可以轻松改变函数的行为。2.例如,它们可以在执行函数之前自动检查某个条件。二丶注意:1.修饰器modifier 是合约的可继承属性, 并可能被派生合约覆盖。2.如果同一个函数有多个 修饰器modifier,它们之间以空格隔开,修饰器modifier 会依次检查执行。3.修饰器modifier 或函数体中显式的 retur原创 2021-05-10 22:09:36 · 1317 阅读 · 4 评论 -
solidity笔记(5)——event用法——2021.5.10
solidity笔记(5)——event用法一丶功能:二丶作用:三丶注意:四丶上一篇:solidity(4)——冻结和交易属性一丶功能:(1)event定义事件,方便dapp监听二丶作用:(1)事件是以太坊日志记录/事件监视协议的抽象。(2)日志条目提供了合同的地址,一系列多达四个主题以及一些任意长度的二进制数据。(3)事件利用现有功能ABI来将其(连同接口规范)解释为适当类型的结构。(4)给定一个事件名称和一系列事件参数,我们将它们分为两个子系列:被索引的子序列和未被索引的子序列。(原创 2021-05-10 21:21:47 · 991 阅读 · 3 评论 -
solidity笔记(3)——abstract用法——2021.5.10
solidity笔记(3)——abstract用法一丶功能:(1)abstract 定义抽象合约,供其他合约继承使用二丶作用:(1)抽象合约将合约的定义与其实现脱钩,从而提供了更好的可扩展性和自文档性(2)简化了诸如Template方法的模式,并消除了代码重复。三丶注意:(1)如果未实现合约中的至少一项功能,则需要将合同标记为抽象。(2)即使实现了所有功能,合同也可以被标记为抽象的。(3)这样的抽象合同不能直接实例化。(4)如果抽象合约本身实现了所有定义的功能,也不能直接实例化(5)如果合约继承自抽象合约,原创 2021-05-10 19:11:21 · 1757 阅读 · 1 评论 -
搭建第一个Dapp应用(3)——Solidity防伪溯源存证签证合约——2021.5.3
Key不回私聊,不懂评论留言,必回一丶配置:1.运行环境:FISCO BCOS联盟链中间件——WeBASE-Front2.合约语言:solidity 0.4.25版本二丶合约代码Evidence.solEvidenceFactory三丶效果展示1.部署合约,初始化传入2个用户地址2.查看合法签名者地址3.查看是否为合法地址4.创建签证合约(只有合法签名者才能成功创建)5.查看签证信息6.合法签名者签名签证合约7.再次查看签证信息一丶配置:1.运行环境:FISCO BCOS联盟链中间件——WeBASE-F原创 2021-05-03 15:07:58 · 3024 阅读 · 8 评论 -
智能合约实例开发(2)——食品溯源——2020.10.31
Roles.solpragma solidity^0.4.25;library Roles{ struct Role{ mapping(address=>bool) bearer; } function has(Role storage role,address amount)internal view returns(bool){ require(amount!=address(0)); return role.原创 2020-10-31 22:53:09 · 7490 阅读 · 44 评论 -
solidity笔记(2)——第二篇——2020.10.26
2020.10.26 星期一 solidity笔记智能合约中,不支持直接返回string[],其他类型的数组,可以直接返回智能合约中,不支持字符串直接拼接,如果想要实现拼接功能,可以转为bytes在去实现相关操作方法修饰符,如果加了view将不会消耗gas,并且调用此方法,不需要用户私钥,可直接调用拷贝合约:合约 新合约名 = 合约(地址)address(0)代表空地址library库合约,特定地址部署一次,就可以被其他合约反复调用如果用继承父合约的相同状态变量或方法,会消耗大量gas,如果原创 2020-10-26 20:23:20 · 800 阅读 · 2 评论 -
solidity笔记(1)——第一篇——2020.10.25
2020.10.25 星期日 solidity笔记合约中的方法默认为public合约中的状态变量默认为internalthis是指当前的合约地址,this.() 只能去访问当前合约的public类型的状态变量为public的状态变量,在合约内部会自动生成一个public同名的方法如果在合约中,重写public的状态变量同名的方法,将会覆盖掉合约自动生成的同名方法在继承中,子合约只能继承父合约中的所有public类型的方法在继承中,子合约只能继承父合约中的所有public类型和int原创 2020-10-25 19:46:23 · 869 阅读 · 12 评论 -
智能合约开发实例(1)——众筹——2020.10.25
标题/*作者:key时间:2020/10/25 17:2分析:一个needer 受益者 多个player 捐助者运行环境 remix*/pragma solidity^0.4.25;//众筹合约contract CrowdFund{ uint256 neederAmount=0; //needer的数量,初始化为0 mapping(uint256 => Needer) neederMap;原创 2020-10-25 17:24:47 · 1591 阅读 · 13 评论