自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 收藏
  • 关注

原创 第163篇 笔记-权益证明

权益证明是一类应用于公共区块链的共识算法,其效果取决于验证者在网络中的经济权益。在基于工作量证明的公共区块链中算法会奖励那些为了验证交易并创建新区块而解决密码学难题的参与者。在基于权益证明的公共区块链中,一组验证者轮流提议并对下一个区块进行投票,并且每位验证者的投票权重取决于其保证金额的大小(即权益)。一般来说,权益证明算法如下:区块会跟踪一个验证者集合,并且任何持有该区块链的基础加密资产(如在以太坊中就是以太币)的用户都可以通过发送一笔将以太币锁定为保证金的特殊交易来成为验证者。

2023-03-15 18:00:35 765 1

原创 第162篇 笔记-安全多方计算

利用同态加密技术可以实现无密钥方对密文的计算,密文计算无须经过密钥方,既可以减少通信代价,又可以转移计算任务,由此可平衡各方的计算代价,利用同态加密技术可以实现让解密方只能获知最后的结果,而无法获得每一个密文的消息,可以提高信息的安全性。双方根据各自的输入依次进行计算,解密方可得到最终的正确结果,但无法得到除结果以外的其他信息,从而实现双方的安全计算。:将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。

2023-03-13 10:18:21 725

原创 第161篇 笔记-去中心化的含义

去中心化”这个词是在加密经济学领域用得最多的一个词,通常也作为辨别区块链的依据。然而,这个词也可能是被定义得最不恰当的一个词。数千小时的研究和价值数十亿美元哈希算力的投入都旨在实现去中心化,并保护和提高去中心化的程度。当人们关于协议的讨论变得越发激烈时,一种非常常见的情况是,协议的支持者会声称对方的协议提案是中心化的,并以此作为最终击倒对方的论据。本文主要内容来自Vitalik Buterin的文章。

2023-03-11 14:49:13 805

原创 第160篇 笔记-公有链和私有链

从本质上讲,比起由加密经济学(如工作量证明、权益证明)来保护完全公开且无人控制的网络和状态机,也可以创建一个这样的系统:该系统的访问权限讲受到更严格控制,其修改权限或者甚至读取区块链状态的权力都只限制给少数用户;这类系统一直是金融机构关注的焦点,并且某种程度上导致了某些人的强烈反对,这些人要么认为这一做法损害了去中心化,要么认为这将导致中间商重拾权力。然而,对于那些只是因为想要弄清楚该如何更好地为人类服务,或者甚至追求更为温和的服务客户的目标而参与其中的人,这两种风格之间的实际差异到底是什么呢?

2023-03-11 11:38:41 484

原创 第159篇 笔记-区块链的升级与分叉

区块链领域的一个重要的争论:硬分叉或软分叉是否应该成为区块链首选的升级机制?比起软分叉,硬分叉背后的选择性实际上远远优于软分叉的强制性。本文旨在对硬分叉及软分叉进行辩证,并阐述不同分叉类型的效果。本文主要内容来自Vitalik Buterin的文章。

2023-03-10 08:24:45 631

原创 第158篇 合约安全-selfdestruct

solidity 可以通过调用 selfdestruct从区块链中删除合约;将合约中存储的所有剩余Ether发送到指定地址。恶意合约可以使用 selfdestruct来强制向任何合约发送以太币。

2023-01-02 14:14:25 643

原创 第157篇 合约安全-随机数

智能合约的开发中常常会用到随机数,目前来说常见的随机数获取有两种:使用区块变量生成随机数,使用预言机来生成随机数。这两个函数生成的随机数的结果是相同的,从而攻击者可以顺利通过 if(_guess == answer) 判断得到奖励。这个合约是一个猜数字赢 ether 的游戏,部署者使用上个区块的区块哈希和区块时间作为随机数种子生成随机数。并将生成的随机数传入,由于从 Attack.attack() 生成随机数到调用。

2023-01-02 14:09:42 1143

原创 第156篇 用智能合约给自己做个钱包

本文使用 solidity 合约实现私人钱包功能;

2022-12-18 11:55:49 686

原创 第155篇 英格兰拍卖

本文介绍英格兰拍卖,讲解如何通过 solidity 实现交易 标准的 。英格兰拍卖,是指在拍卖过程中,拍卖人宣布拍卖标的的起叫价及最低加幅价,竞买人以起叫价为起点,由低至高竞相加价,最后产生最高应价者;

2022-12-08 11:22:36 447

原创 第154篇 Solidity 中众筹的实现

用户创建活动;众筹 ERC20 或 Ether 两类合约。

2022-12-08 11:21:10 219

原创 第153篇 Solidity 中支付通道的实现

支付通道允许参与者重复 transfer Ether 。以下是本合约的使用方法:这被称为单向支付通道,因为支付只能从 Alice 向 Bob 单向进行。双向支付通道允许参与者 Alice 和 Bob 均可以重复 transfer Ether。付款可以双向进行,Alice 支付给 Bob,或 Bob 支付给 Alice。

2022-12-03 12:37:42 227

原创 第152篇 Solidity 中的 Call

使用 for 循环和 staticcall。函数发送 ether 时建议使用的方法;是一个与其他合约交互的低级函数;但这不是调用现有函数的推荐方法;合约可以通过两种方式调用其他合约。,用一个交易调用多个函数的示例;使用 delegatecall。的 delegatecall。的存储、msg.sender。通过调用 fallback。和 msg.value。聚合多个查询的合约示例;测试 MultiCall。是一个类似于 call。代码,但使用合约 A。

2022-12-02 23:50:23 530

原创 第151篇 Solidity 中的数组(Array)

solidity 中的数组(Array)大小可以是固定的,也可以是动态的;

2022-11-30 17:44:27 312

原创 第150篇 笔记-元宇宙(Metaverse)

元宇宙是一个整体虚拟世界的概念,它与现实世界并行存在,提供主权数字所有权、独特的在线身份、互联环境和沉浸式体验。随着最近区块链生态系统中NFT的爆炸,以及Facebook的头部转向“Meta”,元宇宙已进入主流公众意识。尽管这个概念可能看起来是新的、前沿的,但元宇宙的概念在流行文化中已经确立了几十年。这个词最早是由尼尔·斯蒂芬森于1992年在他的科幻小说《雪崩》中创造的,指的是一个模拟、增强和连接物理现实的包罗万象的3D虚拟世界。

2022-11-27 17:28:38 1714

原创 第149篇 笔记-web3

Web3是基于去中心化原则的互联网新革命。Web3将当今丰富的交互式数字体验与为用户提供所有权和加密保证的基础设施相结合。最近在传统技术部门和区块链生态系统的行业领导者中,Web3已成为主流意识,其对互联网的过去和未来有着广泛的影响。在深入研究之前,先简单介绍一下这个术语的历史。“Web 3.0”一词最初由HTTP先驱蒂姆·伯纳斯·李(Tim Berners Lee)在网络时代使用,用于描述一种集成的通信框架,在该框架中,互联网数据可以在不同的应用程序和系统之间进行机器可读操作,他还称之为语义Web。

2022-11-27 17:16:29 1655

原创 第148篇 笔记-DeFi

1.稳定币稳定币是DeFi的核心组件,允许美元等法定货币和其他资产作为数字代币在区块链上表示。稳定币是基础资产的代表,并通过各种机制与之保持 1:1 的联系。对经常波动的加密货币市场相对稳定的渴望促使所有稳定币的总价值超过1000亿美元。‍各种稳定币设计旨在提供保障,包括法定支持的稳定币、去中心化的稳定币和算法稳定币。菲亚特支持的稳定币代表区块链上的法定货币,并由链外抵押品支持。

2022-11-27 15:28:12 1346

原创 第147篇 笔记-预言机(Oracle)

区块链预言机是将区块链连接到外部系统的实体,从而使智能合约能够基于现实世界的输入和输出执行。预言机为分散的 Web3 生态系统提供了一种访问现有数据源、遗留系统和高级计算的方式。去中心化预言机网络(DON)支持创建混合智能合约,其中链上代码和链下基础设施相结合,以支持高级去中心化应用程序(dApp),这些应用程序对真实世界事件做出反应,并与传统系统互操作。区块链预言将区块链连接到现实世界中的输入和输出例如,让我们假设 Alice和 Bob想打赌体育比赛的结果。

2022-11-27 14:34:12 2219

原创 第146篇 笔记-智能合约介绍

智能合约是在区块链网络上托管和执行的计算机程序。每个智能合约都包含指定预定条件的代码,这些条件在满足时会触发并产生结果。通过在去中心化区块链而不是集中化服务器上运行,智能合约允许多方以准确、及时和防篡改的方式达成共享结果。‍智能合约是一种强大的自动执行的基础设施,因为它们不受中央管理员的控制,不易受到恶意实体的单点攻击。当应用于多方数字协议时,智能合约应用程序可以降低交易对手风险、提高效率、降低成本,并为流程提供新的透明度。

2022-11-27 13:16:47 2567

原创 第145篇 Hardhat 开发环境

Hardhat是以太坊最流行的开发环境,它可以帮你编译和部署智能合约,并且提供了Hardhat Network支持本地测试和运行Solidity。本篇介绍如何安装Hardhat,使用Hardhat编写并编译合约,并运行简单的测试。

2022-11-06 15:03:18 312

原创 第143篇 solidity 中的 error-revert

error 是 solidity 0.8.4 版本新加的内容,方便且高效(省gas)地向用户解释操作失败的原因。人们可以在contract之外定义异常。

2022-11-06 14:08:31 212

原创 第142篇 合约安全-重入锁

在例子中,黑客利用了回退函数在目标合约进行ETH转账时进行重入攻击。实际业务中,ERC721和ERC1155的和安全转账函数,还有ERC777的回退函数,都可能会引发重入攻击。建议是用重入锁保护所有可能改变合约状态的external函数,虽然可能会消耗更多的gas,但是可以预防更大的损失。本文主要合约来自网络,仅供参考;

2022-10-28 13:56:14 2381

原创 第141篇 Solidity 中的 Try Catch

在solidity使用try-catch只能用于外部合约调用和合约创建。如果try执行成功,返回变量必须声明,并且与返回的变量类型相同。

2022-10-18 13:38:31 504

原创 第140篇 solidity 中的异常

本文介绍solidity 中三种抛出异常的方法:error,require和assert。写智能合约经常会出bug,solidity中的异常命令帮助我们debug。

2022-10-18 13:06:28 491

原创 第139篇 简单的分成合约

开源合约库有关于 ERC20 分成的合约,本文附在最后;本文合约在其基础上完成,该合约允许将ETH按权重转给一组账户中,进行分成。

2022-10-17 23:32:02 353

原创 第138篇 solidity 中的初始值

solidity 中的初始值

2022-10-16 11:12:01 516

原创 第137篇 荷兰拍卖

介绍荷兰拍卖,并通过简化版。荷兰拍卖代码,讲解如何通过。

2022-09-18 15:58:32 1550

原创 第136篇 库合约

可用于附加库函数(从库 A)到任何类型(B)。)仍然用 String库合约来演示两种使用库合约中函数的办法。在调用的时候,这个变量会被当作第一个参数传递给函数;库函数是一种特殊的合约,为了提升 solidity。库合约一般都是一些好用的函数合集(库函数。类型变量的成员,可以直接调用。代码的复用性和减少 gas。中的函数会自动添加为。

2022-09-18 11:50:09 198

原创 第135篇 solidity 中的控制流与排序

solidity 中的控制流与排序合约示例。

2022-09-18 10:28:42 323

原创 第134篇 IPFS Desktop

本文简单介绍windows环境下 IPFS的安装与使用;

2022-09-12 13:39:47 685

原创 第133篇 IPFS 介绍

本文简单介绍 IPFS;

2022-09-07 20:39:49 580

原创 第132篇 solidity 中的 mapping

Mapping 创建语法: mapping(keyType => valueType)可以是任何内置值类型、字节、字符串或任何约定。可以是任何类型,包括另一个映射或数组。Mappings 不可迭代。

2022-07-20 11:16:05 803

原创 第131篇 ERC20 锁仓合约

在《》中,介绍了一种含代币的锁仓、定期释放等功能的ERC20合约;本文介绍另一种更加灵活的ERC20锁仓合约;主要不同点是,该合约独立于标准ERC20之外;

2022-07-20 09:02:08 642

原创 第130篇 在 OpenSea 上创建自己的 NFT 商店(2)

本文介绍一种通过自己部署智能合约,在 OpenSea 上创建自己的 NFT 商店的方法;写一个最简单的标准 ERC721 合约,源码:注意:本合约仅用于测试;将合约部署到 polygon mainnet:合约部署成功,合约地址:0x9CEaA80feec2B5D2bb3d3a4bb257f5671Ff8d348在区块浏览器查看,所有操作均成功;tokenURI 通常是指向带有特定属性的JSON文件的链接。OpenSea 标准可以参考官方文档;其示例合约代码:其元数据结构(Metadata str

2022-07-06 16:28:13 2368

原创 第129篇 在 OpenSea 上创建自己的 NFT 商店(1)

本文介绍一种直接在 OpenSea 上创建自己的 NFT 商店的方法;

2022-06-16 18:12:04 551

原创 第128篇 智能合约改进(ERC721)

本文介绍 ERC721 智能合约的改进

2022-06-14 15:39:32 2052

原创 第127篇 solidity 中链表的实现

本文实现 solidity 智能合约中的链表功能;链表,实际就是在合约中实现一个排好序的列表数据

2022-06-10 23:07:47 468 1

原创 第126篇 合约间调用方法

本文介绍三种类型的合约间调用;注意:本文合约均编译通过,仅供参考;

2022-06-06 15:50:26 465

原创 第125篇 笔记-solidity中的编码与解码

本文环境:polygon testnet + metamask + remix参考文档:第119篇 笔记-solidity中的ABI本文介绍 solidity 合约中的 abi 编码与解码;1.合约源码// SPDX-License-Identifier: MITpragma solidity ^0.8.13;contract AbiDecode { struct MyStruct { string name; uint[2] nums;

2022-05-27 13:03:06 649

原创 第124篇 NFT市场智能合约

本文合约实现简单的 NFT 市场,仅实现单一 NFT 合约资产的拍卖与交易:三种模式:England 拍卖模式:nft owner设置初始起拍价格,竞拍者逐步提高价格发起 offer,价高者得;只能通过 offer 与接受 offer 达成,完成交易主动权在 owner; Netherlands 拍卖模式:nft owner 设置初始价格,竞拍者给出满足该价格的 offer 或者价格更低的 offer,nft owner 可以主动降价,直到有双方都满意的价格出现;只能通过 offer 与接受 o.

2022-05-20 17:36:17 1409 6

原创 第123篇 笔记-sendEther合约

How to send Ether?You can send Ether to other contracts bytransfer (2300 gas, throws error) send (2300 gas, returns bool) call (forward all gas or set gas, returns bool)How to receive Ether?A contract receiving Ether must have at least one of the ..

2022-05-15 09:50:11 307

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除