随笔分类 - web3
包括ethereum以太坊和ton链等
摘要:在使用 Ethers.js 进行智能合约开发时,我们经常需要让不同的账户调用合约方法,比如: 部署者 部署合约 用户A 进行交互 攻击者B 试图恶意调用 在这些情况下,Ethers.js 提供了 connect(signer) 方法,使我们能够灵活地切换调用者身份。本文将详细介绍 connect 的
阅读全文
摘要:以下是更详细的解释如何防止智能合约中的重入攻击,以及每种方法的原理和示例代码: 1. 更改状态变量优先 重入攻击的原理是:在调用外部合约时,攻击者通过回调函数再次调用受害合约的函数,在状态变量未及时更新的情况下,导致合约逻辑被重复执行。 防御措施: 在与外部合约交互之前,先更新合约的状态变量。 这样
阅读全文
摘要:随着区块链技术的发展,越来越多的链(如以太坊、BSC、Solana 等)开始承载各类去中心化应用(DApps)。然而,不同链之间的隔离性成为了阻碍生态协作的一大问题。在这种背景下,跨链桥作为连接不同链的重要工具,变得至关重要。本篇文章将详细介绍跨链的基本流程和操作。 跨链的基本概念 跨链是指通过技术
阅读全文
摘要:内容寻址是一种通过数据内容生成唯一标识符(如哈希值)来定位和访问数据的方法,与传统的基于位置的寻址方式(如 URL 或文件路径)截然不同。在 Web3 的生态中,内容寻址得到了广泛应用,成为构建去中心化应用和分布式网络的重要技术基础。 什么是内容寻址? 内容寻址基于加密哈希算法(如 SHA-256)
阅读全文
摘要:在 Web3 的生态中,Infura 和 Alchemy 是两个非常流行的 区块链基础设施即服务(Blockchain Infrastructure as a Service) 提供商。它们的主要作用是为开发者提供访问区块链网络(如以太坊)的接口,提供可靠的节点服务,使开发者可以专注于构建去中心化应
阅读全文
摘要:在区块链开发中,我们经常需要处理 原生代币,如以太坊(ETH)或 Binance Smart Chain(BNB)。这些代币在区块链网络中充当了重要角色,它们不仅是交易的媒介,还是支付交易费用(gas)的主要手段。但在与智能合约交互时,我们如何表示这些代币呢?特别是当这些代币没有合约地址时,如何统一
阅读全文
摘要:在区块链中,“Roll Up”是一种扩展解决方案,它通过将多个交易打包(或“卷起”)到一个单一的交易中,从而减少链上数据的处理量。Roll Up 的主要优点是提高交易吞吐量和降低手续费,同时仍然保持安全性和去中心化。 Roll Up 分为两种主要类型: ZK-Rollup:使用零知识证明来验证交易的
阅读全文
摘要:代币限量实现文档 1. 概述 在区块链项目中,代币的限量是确保其稀缺性和价值的重要机制。本文将介绍如何通过智能合约实现代币的限量,包括总供应量控制、铸造权限管理和销毁机制。 2. 总供应量(Total Supply) 2.1 定义 总供应量是指代币的最大数量。在智能合约中,可以通过一个状态变量来定义
阅读全文
摘要:在以太坊的 ERC-20 代币标准中,transfer、approve 和 transferFrom 是核心方法,它们共同构成了代币的转移和管理机制。本文将详细介绍这三个方法的功能、使用场景、区别及其相互关系。 1. transfer 方法 功能 transfer 方法用于将代币从调用者的地址直接转
阅读全文
摘要:**DAO(Decentralized Autonomous Organization,去中心化自治组织)**是一种基于区块链技术的组织形式,旨在通过智能合约实现去中心化管理和决策。以下是 DAO 的一些关键特点和功能: 关键特点 去中心化:DAO 不依赖于单一的管理实体或中心化的公司,而是通过区块
阅读全文
摘要:在Web3开发中,确保交易的安全性和数据的一致性是至关重要的。为了应对这些挑战,开发者常常利用链上的多签名(Multi-Signature)和时间锁(Time Lock)机制。这两种机制不仅提升了系统的安全性,还增加了操作的透明度和控制性。本文将详细介绍这两种机制的基本概念、应用场景以及如何在智能合
阅读全文
摘要:在Web3的世界中,状态同步是开发者们必须面对的一个复杂而重要的挑战。无论是在链上链下数据的一致性管理,还是在跨链操作中,确保状态同步都是决定Web3应用成功与否的关键因素。本文将分享一些在状态同步过程中积累的实际经验和应对策略,帮助开发者更好地应对这一挑战。 1. 理解链上与链下状态的差异 挑战
阅读全文
摘要:随着区块链技术的迅猛发展,Web3正在成为下一个互联网时代的重要组成部分。Web3不仅代表了一种去中心化的网络架构,也带来了全新的开发模式。然而,Web3的开发过程并不简单,充满了各种技术和非技术性的挑战。本文将探讨Web3开发中的主要难题,并分析这些挑战对未来Web3生态系统发展的影响。 1. 用
阅读全文
摘要:随着区块链技术的发展,Web3与Web2的融合越来越深入。在这种融合的过程中,如何高效地将链上的数据与链下的传统Web2系统进行同步,成为了一个关键问题。本文将介绍四种常见的Web3与Web2同步机制,并探讨它们的优缺点。 这边把之前做的一个项目用到的几种机制进行经验总结。 1. 客户端上传交易哈希
阅读全文
摘要:在区块链和加密货币领域,DEX 代表去中心化交易所(Decentralized Exchange)。与传统的中心化交易所(CEX)不同,DEX 不依赖于中介机构或第三方来管理用户的资产和交易。相反,交易直接在区块链上进行,使用智能合约来自动执行和记录交易。下面是一些关于 DEX 的关键概念: 核心特
阅读全文
摘要:1. mint一个勋章 // mint tran, err := contractInstance.Mint(transactopts, common.HexToAddress(config.TestUserPublicKey), pinfo) if err != nil { fmt.Println
阅读全文
摘要:1.Ganche 简介 1.1.什么是 Ganache ? Ganache 是DApp的测试网络,提供图形化界面,log日志等;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpolar内网穿透软件,即可比较简单实现远程或者不同局域网进行连接访问,下面简单概括
阅读全文
摘要:eth chain上会有一个Native Token => ETH (ether), 合约里的关键字1ether表示1 Native Token,也就是1ETHbsc是fork的eth chain. evm里的东西都没改,Native Token直接换了个名字叫BNB, 对应到evm里的关键字还是不
阅读全文
摘要:在以太坊中,"NFT"代表非同质化代币(Non-Fungible Token)。对于NFT,有两个相关的概念:NFT的"transaction"(交易)和"NFT transfer"(NFT转移)。 NFT Transaction(NFT交易):NFT交易是指在以太坊网络上对NFT进行操作的交易。这
阅读全文