GnosisSafe是以太坊区块链上最流行的多签钱包!它的最初版本叫MultiSigWallet,现在新的钱包叫GnosisSafe,意味着它不仅仅是钱包了。它自己的介绍为:以太坊上的最可信的数字资产管理平台(ThemosttrustedplatformtomanagedigitalassetsonEthereum)。所谓Factory,顾名思义,就是能够快捷创建某类合约的合约,通过合约创建合约的方式而非直接部署一个新的合约。因此GnosisSafeProxyFactory就是用来快速创建GnosisSafeProxy的合约。1.1GnosisSafeProxyFactory源码GnosisS
GnosisSafe是以太坊区块链上最流行的多签钱包!它的最初版本叫MultiSigWallet,现在新的钱包叫GnosisSafe,意味着它不仅仅是钱包了。它自己的介绍为:以太坊上的最可信的数字资产管理平台(ThemosttrustedplatformtomanagedigitalassetsonEthereum)。所谓Factory,顾名思义,就是能够快捷创建某类合约的合约,通过合约创建合约的方式而非直接部署一个新的合约。因此GnosisSafeProxyFactory就是用来快速创建GnosisSafeProxy的合约。1.1GnosisSafeProxyFactory源码GnosisS
DRepublic团队创作的MetaCore系统是集身份系统、无限拼接、无限组合、属性可变NFT于一身的一站式平台,MetaCore让所有用户及项目方都能够创造自己的可拆分可组合NFT,并将它们挂载到MetaCore身份系统上。只需要持有一个MetaCore,即可将所有组件式NFT组织起来,让它们不再是钱包里零散的NFT,而是分门别类的挂载,组合在不同位置。1官网 MetaCore|FirstMetaverseIdentity https://www.metacorelabs.io/首页右上角分别是Opensea、Contract。Opensea: https://opensea.io/co
智能合约-1智能合约-2一、思考1.假设某个全节点要打包一些交易到一个区块里,这些交易里有一些是对智能合约的调用,那么这个全节点应该先执行完智能合约再挖矿,还是先挖矿获得记账权再执行这些智能合约? 在区块链中,如果有一笔转账交易发布上去,需要所有的全节点都执行的,这不是一种浪费也不是出了某种问题,因为所有的全节点要同步状态,大家都要在本地执行这个转账交易,如果一个全节点不执行那就出问题了,他的状态跟别人的状态是不一样的。比特币系统也一样,比特币发布一个交易到区块链上,也需要所有全节点都得执行这个转账交易,以便更新UTXO。 全节点收到一个对合约的调用的时候,要一次性的先把这
智能合约代码举例纵观整体代码有如下特点符合C++代码语法,包含相应的头文件,命名空间公有继承合约基类contract在语法中出现了新的标签代码如:[eosio::contract],[eosio::action]等代码尾部出现新的宏EOSIO_DISPATCH合约编译工具工具名称:eosio-cpp命令行:eosio-cpp-ohello.wasmhello.cpp–abigen编译结果:生成hello.wasm和hello.abi文件合约编译过程命令行的解析过程,不做过多解释,在编译过程中使用ClangTool完成代码的分析与合约信息提取,Clang-7完成合约文件的编译过程,将cpp文件编
openzeppelin可升级模板库中合约初始化详解我们知道,在openzeppelin提供的可升级模板库中,合约初始化一般会涉及到下面三个元素:initializer,initialize,onlyInitializing。它们的功能分别为顶级初始化修饰符,约定的初始化函数和内部初始化修饰符。可是你真的了解他们吗?本文就带你认真学习三这个元素。我们知道,在使用Solidity编写的以太坊智能合约中,代码即法律,意思是代码不能更改了。但是这里的更改是指代码编译后部署的字节码无法更改了,并不是存储内容或者代码执行逻辑绝对无法更改。例如我们重新设置某个参数,它也可能更改代码的执行逻辑。历为假定这个
合约监听。顾名思义,当合约发生交易的时候,我们想要得到交易的某些信息。这个就是合约监听。首先呢,我们需要知道,智能合约的编写。因为如果只提供部分代码的话,是完全看不懂意思的。其中合约监听有几种方式。观察者,发布订阅模式。这个什么模式,现在没搞太懂首先,上个合约代码看看。//SPDX-License-Identifier:GPL-3.0pragmasolidity>=0.7.0其中呢,eventstorages(xxx)就是定义事件监听的基础。其次,出发消息,是在emitstorages(xxx);目前合约这块整好了。那么接下来,我们看看java这块的代码前面呢,基本变化不大,就是一些初始化we
1.引言前序博客:ECDSAVSSchnorrsignatureVSBLSsignatureECDSA,全称为EllipticcurveDigitalSignatureAlgorithm,采用Ellipticcurvecryptography来实现的数字签名算法。公私钥对(pk,P)(pk,P)(pk,P),其中公钥P=pk×GP=pk\timesGP=pk×G,GGG为所选椭圆曲线的basepoint。(ellipticcurvebasepoint:apointonthecurvethatgeneratesasubgroupoflargeprimeordernnn。n×G=On\timesG
本文环境: 操作系统:windows64; 浏览器:chrome; metamask:metamask-chrome-7.7.9; remixIDE:http://remix.ethereum.org/ 参考合约:https://github.com/OpenZeppelin/openzeppelin-contracts本文介绍标准ERC721智能合约的改进流程及部分功能;仅供参考;1.ERC721_01.sol实现功能:1.通过import openzeppelin实现标准而简单的ERC721合约功能; 2.开放mint,即任何人都可以通过该合约创建NFT
概述读者可以在前往我的博客获得更好的阅读体验。在上一篇博客中,我们已经讨论了safe合约的代理部署和核心的GnosisSafe合约。在此博客内,我们主要讨论在上一篇文章内没有介绍的safe合约内各个模块的概念和代码。我们会按照各模块在GnosisSafe合约内出现的顺序进行解释。OwnerManager在GnosisSafe.sol的setUp函数中,我们使用了此模块中的setupOwners函数。此模块主要涉及签名者的管理等功能。setupOwners此函数的功能为初始化签名者(owner)和需要签名的数量(threshold)变量。在函数体的开始,我们看到一系列使用require的条件检查