草庐IT

Solidity:合约销毁(SelfDestruct)

1.什么情况下需要使用合约销毁?销毁合约只是让你的智能合约无法再继续工作,但是在区块链上的数据还是保留的。什么情况下需要使用到销毁合约?你的智能合约在不使用的情况下,你可以把它给销毁。强迫你的用户放弃旧的智能合约,使用新的智能合约,所以必须把旧的给销毁。但是由于目前智能合约是能够升级的,所以不赞成使用这方法。你的合约受攻击到了不可挽回的地步,就必须被迫强行销毁。记得,在销毁之前你必须把旧合约内的代币给迁移出来,不然你旧合约的代币也是找不回来的。2.如何进行合约销毁?2.1合约销毁的原理比如一个自动售货机,当一件产品不再供货销售时,就可以将该产品对应的调取函数作废掉。2.2合约销毁用到的基本命令

Solidity:合约销毁(SelfDestruct)

1.什么情况下需要使用合约销毁?销毁合约只是让你的智能合约无法再继续工作,但是在区块链上的数据还是保留的。什么情况下需要使用到销毁合约?你的智能合约在不使用的情况下,你可以把它给销毁。强迫你的用户放弃旧的智能合约,使用新的智能合约,所以必须把旧的给销毁。但是由于目前智能合约是能够升级的,所以不赞成使用这方法。你的合约受攻击到了不可挽回的地步,就必须被迫强行销毁。记得,在销毁之前你必须把旧合约内的代币给迁移出来,不然你旧合约的代币也是找不回来的。2.如何进行合约销毁?2.1合约销毁的原理比如一个自动售货机,当一件产品不再供货销售时,就可以将该产品对应的调取函数作废掉。2.2合约销毁用到的基本命令

java - 一个单元应该如何测试 hashCode-equals 合约?

简而言之,hashCode合约,根据Java的object.hashCode():除非影响equals()的内容发生更改,否则哈希码不应更改equals()表示哈希码是==让我们假设主要对不可变数据对象感兴趣-它们的信息在构造后永远不会改变,因此假设#1成立。剩下#2:问题只是确认equals意味着哈希码==。显然,我们无法测试所有可能的数据对象,除非该集合非常小。那么,编写可能捕获常见情况的单元测试的最佳方法是什么?由于此类的实例是不可变的,因此构造此类对象的方法有限;如果可能,此单元测试应涵盖所有这些。在我的脑海中,入口点是子类的构造函数、反序列化和构造函数(应该可以归结为构造函数

java - 一个单元应该如何测试 hashCode-equals 合约?

简而言之,hashCode合约,根据Java的object.hashCode():除非影响equals()的内容发生更改,否则哈希码不应更改equals()表示哈希码是==让我们假设主要对不可变数据对象感兴趣-它们的信息在构造后永远不会改变,因此假设#1成立。剩下#2:问题只是确认equals意味着哈希码==。显然,我们无法测试所有可能的数据对象,除非该集合非常小。那么,编写可能捕获常见情况的单元测试的最佳方法是什么?由于此类的实例是不可变的,因此构造此类对象的方法有限;如果可能,此单元测试应涵盖所有这些。在我的脑海中,入口点是子类的构造函数、反序列化和构造函数(应该可以归结为构造函数

【0基础】学习solidity开发智能合约-初识solidity

本篇课程开始,我们来学习一下如何使用solidity开发智能合约,由于博主对于solidity的学习,也是自学的,所以一些不足或有纰漏之处还望指出,大家共同进步,本系列课程会分很多节课讲述,从入门到进阶、实战,在课程最后,我们会通过所学知识来搭建几个不同类型的智能合约如Token合约、NFT合约等等,感兴趣的小伙伴加个关注吧。一、什么是智能合约这里引用一段摘自网络的话语来解释一下 智能合约是区块链中四大核心技术之一,这个概念最开始是在1994年,由知名密码学家尼克·萨博提出的,可由于技术以及其他的一些原因一直都没有落地,哪怕到了今天,智能合约已经在互联网中很多的应用,比如自动还款,无人机售货等

【0基础】学习solidity开发智能合约-初识solidity

本篇课程开始,我们来学习一下如何使用solidity开发智能合约,由于博主对于solidity的学习,也是自学的,所以一些不足或有纰漏之处还望指出,大家共同进步,本系列课程会分很多节课讲述,从入门到进阶、实战,在课程最后,我们会通过所学知识来搭建几个不同类型的智能合约如Token合约、NFT合约等等,感兴趣的小伙伴加个关注吧。一、什么是智能合约这里引用一段摘自网络的话语来解释一下 智能合约是区块链中四大核心技术之一,这个概念最开始是在1994年,由知名密码学家尼克·萨博提出的,可由于技术以及其他的一些原因一直都没有落地,哪怕到了今天,智能合约已经在互联网中很多的应用,比如自动还款,无人机售货等

WeIdentity智能合约源码分析

WeIdentity智能合约介绍本文结合WeIdentity智能合约文档对其源码进行阅读分析。当前,WeIdentity合约层面的工作目标主要包括两部分:WeIdentityDID智能合约,负责链上ID体系建立,具体包括生成DID(DistributedIDentity)、生成DIDDocument、DID在链上的读取与更新。WeIdentityAuthority智能合约,负责进行联盟链权限管理,具体包括链上DID角色的定义、操作与权限的定义与控制。WeIdentityDID概述从业务视角来看,DID智能合约只需要做一件事,就是如何定义DIDDocument的存储结构和读写方式。DIDDocu

WeIdentity智能合约源码分析

WeIdentity智能合约介绍本文结合WeIdentity智能合约文档对其源码进行阅读分析。当前,WeIdentity合约层面的工作目标主要包括两部分:WeIdentityDID智能合约,负责链上ID体系建立,具体包括生成DID(DistributedIDentity)、生成DIDDocument、DID在链上的读取与更新。WeIdentityAuthority智能合约,负责进行联盟链权限管理,具体包括链上DID角色的定义、操作与权限的定义与控制。WeIdentityDID概述从业务视角来看,DID智能合约只需要做一件事,就是如何定义DIDDocument的存储结构和读写方式。DIDDocu

java使用web3j,部署智能合约在测试链上,并调用(万字详细教程)

目录前言一、准备工作二、智能合约的编写三、用java完成web3j调用(一)定义为生成对应合约的bin以及abi文件(二)、利用abi,bin文件生成solidity的java代码(三)、(部署)调用合约上的函数前言最近在学区块链相关,想做点自己感兴趣的。网上关于这块部分的坑也比较多,最近也是问了很多行业从事者才慢慢填坑,因此记录下来分享一下。一、准备工作钱包:metemask、solidity编译器:remix、javaide:idea。二、智能合约的编写智能合约编写的我选择在remix上方便,而且部署的时候不需要自定义gasPrice,remix会自动调整价格。附上完整solidity合约

java使用web3j,部署智能合约在测试链上,并调用(万字详细教程)

目录前言一、准备工作二、智能合约的编写三、用java完成web3j调用(一)定义为生成对应合约的bin以及abi文件(二)、利用abi,bin文件生成solidity的java代码(三)、(部署)调用合约上的函数前言最近在学区块链相关,想做点自己感兴趣的。网上关于这块部分的坑也比较多,最近也是问了很多行业从事者才慢慢填坑,因此记录下来分享一下。一、准备工作钱包:metemask、solidity编译器:remix、javaide:idea。二、智能合约的编写智能合约编写的我选择在remix上方便,而且部署的时候不需要自定义gasPrice,remix会自动调整价格。附上完整solidity合约