• 2024-11-24从链下签名到链上验证:如何实现一个多签名钱包
    文章目录前言一、什么是数字签名与ECDSA?1.数字签名的定义2.ECDSA的工作原理二、链下签名与链上验证的结合重放攻击简介防御策略三、如何实现一个多签名钱包?1.环境准备2.合约设计与功能模块3.实现步骤总结前言数字签名是区块链技术的重要基础之一,它在保证数
  • 2024-07-05用于数字签名与验签的dApp
    只有前端与链上合约两个组成部分的小dApp,其中前端使用ethers.js与Metamask钱包进行交互、以及提供hash和签名功能;链端是一个Solidity合约,提供验签功能。前端用ChatGPT辅助生成的代码app.html<html><head><metacharset="UTF-8"><metaname="viewport"content="wi
  • 2024-06-16solidity签名机制和go联合调试学习
    1.solidity实现:1.1.引入eip712合约://SPDX-License-Identifier:MITpragmasolidity^0.8.0;/***@devhttps://eips.ethereum.org/EIPS/eip-712[EIP712]isastandardforhashingandsigningoftypedstructureddata.**TheencodingspecifiedintheEIPis
  • 2024-06-16solidity byte32转字符串日志输出学习
    直接上代码://SPDX-License-Identifier:MITpragmasolidity^0.8.0;abstractcontractEIP712{eventLogValues(bytes32domainSeparator,bytes32structHash);function_hashTypedDataV4(bytes32structHash)internalvirtualreturns(bytes32){
  • 2024-05-09零知识证明: Tornado Cash 项目学习
    前言最近在了解零知识证明方面的内容,这方面的内容确实不好入门也不好掌握,在了解了一些基础的概念以后,决定选择一个应用了零知识证明的项目来进行进一步的学习。最终选择了TornadoCash这个项目,因为它著名且精致,适合入门的同学进行学习。学习TornadoCash项目,涉及以下方面:
  • 2023-12-13Solidity智能合约例子:存证合约
    一、合约编写感谢b站上的UP老哥冲少,这里参考了他的视频。一共是4个合约,1个是权限控制,1个存证、1个存证申请(是否可以存证有投票机制)、还一个入口合约。Authentication.sol//SPDX-License-Identifier:UNLICENSEDpragmasolidity^0.8.9;contractAuthentication{addre
  • 2023-04-08『0015』 - Solidity Types - (Dynamically-sized byte array)、(Fixed-size byte arrays)、string之间的转换关系
    作者:黎跃春,大纲固定大小字节数组(Fixed-sizebytearrays)之间的转换固定大小字节数组(Fixed-sizebytearrays)转动态大小字节数组(Dynamically-sizedbytearray)固定大小字节数组(Fixed-sizebytearrays)不能直接转换为string动态大小字节数组(Dynamically-sizedbytearray)转stri
  • 2023-03-13Solidity实现默克尔树 Merkle Tree
    ​​MerkleTree​​​,也叫默克尔树或哈希树,是区块链的底层加密技术,被BTC和Ethereum区块链广泛采用。​​MerkleTree​​​是一种自下而上构建的加密树,每个叶子是对应数据
  • 2023-01-07多签钱包实现
    概述所谓多签钱包是一种数字钱包,其特点是一笔交易需要被多个私钥持有者(多签人)授权后才能执行:例如钱包由3个多签人管理,每笔交易需要至少2人签名授权。多签钱包可以防止单点
  • 2022-12-30链下签名
    什么是签名比如我们在使用opensea的时候,经常会提示我们进行数字签名,如下图:用户进行sign确认,即用自己的私钥对一段数据进行签名,得到一个signature,其他人可以使用你
  • 2022-12-20solidity中bytes32类型转换为bytes memory类型
    solidity代码如下:functiontoBytes()publicviewreturns(bytesmemory){bytes32by32=hex"5569a35483840767334b19c6f28d1347dad8ec4521859a1742d21758984897
  • 2022-11-05etherjs调用合约过程
    前言:调用合约成功,虽然是一小步,但总算有进展了,慢慢往前。  //library是providerconst{account,library,active}=useWeb3React();//取消挂单asyncfun