...# 1. ERC1167 简介 > EIP-1167,又称`Minimal Proxy Contract`,提供了一种低成本复制合约的方法,也可以叫作是克隆合约的方法。如何理解克隆呢?克隆就是类似复制的意思,这里的合约克隆是指:克隆合约和原合约具有相同的逻辑功能...
前段写了,[move debug string的几种方法](https://learnblockchain.cn/article/4840) 后,有天看到,move 官方仓库有人提交了一个pr,[added support to print UTF8-encoded std::string::String's via std::debug::print](https://github.com/move-language/move/pull/603),感觉写得不...
... 不直接持有目标对象,而是通过 UID 建立逻辑关联,避免了资产所有权的传递,同时仅存储 资产的UID(32 字节),比存储完整对象更节省链上资源 # 三、特殊的能力组合 ## One-Time Witness :drop drop用来保证只能使用一次 ## ...
...视智能合约账户。 二、遵守 EIP-1271。 这个 EIP 定义了一种用智能合约钱包签署授权的方法 ## ERC-4337 目前的状态  ## 共享所有权  这方面的原理,以及实现我就不讨论了,文章比较多,程序员嘛,除了自己写的代码,就是关注接口,学会要会使用。 ## 文档 我这里使用的[openzeppelin](https://docs.openzeppelin.com/contracts/4.x/api/utils#ECDSA)的实...
...8965dd0` 由于任何人都可以调用 `_transfer()` 函数加上没有了白名单的权限检测判断,导致了任何人都可以调用该函数转走其他地址的代币。  ## poc ```js pr...
# 和Hardhat一起使用 该软件包为您的Hardhat脚本添加了功能,以便您可以为您的合同部署和升级代理。取决于ethers.js。 > 提示:查看[分步教程](https://forum.openzeppelin.com/t/openzeppelin-buidler-upgrades-step-by-step-tutorial/3580),展示从创建、...
...同,solidity自己实现和openzeppelin验签结果地址不对 js使用了vue ether.js ``` async walletSignMessage() { const message = { from: "0xE3a463d743F762D538031BAD3f1E748BB41f96ec", to: "0x39Ef50bd29Ae125FE10C6a909E42e1C6a94Dde29", value: 12345789, ...
...用对应的Function对象,通过该Function对象的entry_point就得到了内部调用的入口点。 4. node对象的sons属性,可以返回node对象所有的子节点。 ## 2.2 Node节点的递归框架 这是遍历node节点时最常用的框架结构。 遍历每个合约...
...)进行翻译,另一部分是Solidity深入分析,这部分请订阅[区块链技术专栏](https://xiaozhuanlan.com/blockchaincore)阅读。 ## 结构体(Structs) [Solidity](https://learnblockchain.cn/docs/solidity/)提供**struct**来定义自定义类型,自定义的类型是引用...
...与前一个数不同那么就把后一个数赋值给前一个数就可以了。这里有两种做法: 1. 双层循环,从前到后比较。外层循环遍历数组的索引i,内层循环索引j遍历i..len,如果nums[j] != num[i]那么赋值i。时间复杂度O(N2) 2. 想办法只用一层...