- A+
什么是 Facet?
Facet 是一个安全、去中心化且价格实惠的计算协议。
Facet 不是一个区块链。相反,它是一种不同的思考和使用区块链的方式。将 Facet 视为一个新的透镜,通过它你可以查看和与以太坊进行交互。
仅仅通过改变我们的视角,结果表明我们可以将以太坊交易成本降低高达 99%,而无需改变以太坊协议本身。
就像从不同角度观察同一颗宝石会展现其惊人的“面”,改变你对以太坊的看法将揭示其未开发的潜力。
Facet 使以太坊费用(极大)降底
让我们来看看两个示例交易中的节省,比较在 Facet 上构建的 DEX——Facet Swap 与传统以太坊 UniswapV2 DEX。
在 DEX 上交换代币,有和没有 Facet
交换代币:比较从 Sushi Swap 进行的此代币交换与在 Facet Swap 上进行的此代币交换 。Facet 版本实现了相同的功能,但Gas成本为3.41,而不是3.41,而不是24.61。这是超过 85%的节省!
创建 DEX 流动性池,有和没有 Facet
创建 UniswapV2 交易对:当涉及到像创建新交易对这样复杂的操作时,差异更加明显。 传统方式花费316.55](ℎ://ℎ.//084367467590188152587811617920325202366465),而[仅需∗∗316.55](https://etherscan.io/tx/0xc84367fd46e7ed5a90ba18815fd2a5dec878116b1decdd792032b5202c366465),而[Facet仅需∗∗3.09**。这是超过 99%的降低!
有什么陷阱吗?
Facet 可以将Gas成本降低 99%?有什么陷阱?“没有免费的午餐”!
你是对的 —— Facet 不能创造免费的钱。但它可以创造“免费 停止浪费金钱”。
具体来说,Facet 使你能够停止在以太坊的一个不必要且昂贵的特性上浪费金钱:智能合约。
重新评估以太坊的核心特性:智能合约
Facet 的论点很简单:在以太坊上可以通过没有智能合约的更高效方式实现一切。智能合约传统上被赞誉为以太坊的关键创新,但实际上它们阻碍了以太坊的发展。
智能合约是以太坊设计缺陷的想法乍看起来令人难以置信,你可能会认为这是一个笑话。但想象一下,如果这是真的——如果你在使用以太坊时不需要智能合约。
这意味着多年来支付的数十亿美元的Gas费用是浪费的。这意味着以太坊的整体容量(由 30M Gas限制强制执行)被人为地限制了。但最重要的是,这意味着仍有时间进行调整并以更好的方式使用以太坊。
尽管 Facet 的论点似乎违反直觉,但如果以开放的心态来看待,其真相是很容易看到的。
一个思维实验:如果智能合约存储被删除了会怎样?
为了了解智能合约是否是以太坊的一个必要特性,或者我们是否可以没有它们,让我们使用“生活多美好”策略,想象一下如果所有智能合约突然消失会怎样。
考虑这种情况:以太坊社区明天醒来,发现智能合约存储已被抹去,但以太坊交易历史和以太坊的共识层保留了下来。
这会有多糟糕?
如果智能合约是必不可少的,那么这肯定是一场灾难。以太坊社区花费数十亿美元的Gas费用用于智能合约执行计算和存储结果。失去所有这些数据肯定也会造成数十亿美元的损失,对吗?否则,为什么我们要花费如此多的钱来填充它?
还原智能合约状态
同时,失去数据的糟糕程度只能取决于还原它的成本。如果填充数据花费了数十亿美元,并且这些钱花得其所,那么恢复这些已删除数据的成本也必须是数十亿美元。为什么?
对:因为如果你可以以远低于生成成本的方式恢复丢失的数据,你就不会应该一开始生成它!你将应该直接跳过“生成”步骤。
那么恢复所有丢失的智能合约数据会花费多少?十亿美元?百亿美元?令人惊讶的答案是:几乎没有成本。
为什么?因为智能合约中的所有数据都可以从以太坊交易的不可变历史中以完美的准确性重建。这些合约中的每一条信息都源自这些交易历史,要重新创建这些信息,我们只需要“重放”历史。
但是重放这个历史是否意味着重新运行第一次发生的各种昂贵的智能合约交互?不需要,因为我们不需要智能合约来执行智能合约逻辑。这是因为智能合约逻辑是完全确定性的——对于给定的输入,智能合约将始终产生相同的输出。
而智能合约逻辑本身包含在合约部署的 calldata 中的以太坊交易历史中。
鉴于我们有以太坊交易历史作为输入,我们也有所有智能合约逻辑,我们可以通过在相同输入上执行智能合约逻辑来精确重现智能合约输出。通过反复应用此过程,我们可以恢复这个思维实验中丢失的所有数据。
智能合约的悖论
从这个角度看,智能合约是奇怪的实体。我们为它们支付数十亿美元来执行计算,同时如果这些计算的结果被抹去,我们可以以远低于成本的方式重新生成它们。
这听起来几乎像一个谜语:“你花数十亿让我告诉你你已经知道的事情 ”
Facet 的观点是,这不是一个具有挑战性的哲学难题,而是一个简单的机会,可以转向更便宜的选择并节省金钱。
以太坊的“本质”是什么?
如果我们共同花费了数十亿美元来维护一个不包含任何独特信息的数据存储,那么以太坊是如何取得如此多惊人成就的呢?
如果智能合约不是以太坊的“本质”,那么是什么?正如我们上面所看到的,以太坊的一切都源自以太坊验证者产生的有序序列的以太坊交易。
如果你拥有这个序列,你可以计算出任何你需要的确定性结果,而无需区块链。相反,如果你没有这个序列,你将永远无法在没有区块链的情况下重新创建它。与智能合约行为不同,以太坊交易的顺序是非确定性的。在确定给定区块中的交易以及何种顺序时,没有办法使用初始条件和共享逻辑来达成“正确答案”。事实上,没有“正确答案”——相同的初始条件可能导致多个同样有效的结果(不同的顺序下)。
这就是权益证明共识机制的魔力所在。它使每个人都能就非确定性过程的结果达成一致,而无需中心决策权。
权益证明的工作原理几乎令人难以置信。我们不应进一步加重以太坊验证者的负担,让他们执行简单的数学问题——例如确定如果你拥有 2 个代币并铸造 2 个,你的余额现在是 4。我们不需要区块链告诉我们 2 + 2 = 4!
Facet 的费用节省是通过要求以太坊验证者只做他们唯一要做的事情来实现:对以太坊交易进行排序。其他所有事情都可以在链下计算。
Facet 的工作原理
Facet 不仅仅是一个理论概念;它是一个完全在以太坊主网上运行的功能系统。
Facet 协议是由开源的 Facet 虚拟机(FVM)实现的:
它是如何工作的。
基本思想
回想一下我们之前讨论的使用以太坊交易历史重建智能合约存储的内容。Facet 虚拟机就是基于这一原则运行的,但有一个变化:它不是重建已删除的智能合约状态,而是组建一个从未存储在智能合约中的状态!
一个例子
让我们看一个简单的例子:使用 Facet 铸造 ERC20 代币。考虑此交易 。首先,注意交易的“To”地址是 0x00000000000000000000000000000000000FacE7
,一个虚拟销毁地址(不是智能合约)。
接下来,看一下输入数据:
data:application/vnd.facet.tx+json;rule=esip6,{
"op": "call",
"data": {
"to": "0x0fa4d1eea940b2c82019f4d048e887715f5eb703",
"function": "mint",
"args": {
"amount": "100000000000000000000000000000000000000000000000000000"
}
}
}
如果你不使用 Facet,这个交易负载是毫无意义的。但是,如果你调整一下你的视角,你会发现它是相当有意义的:这个人表达了他们要从特定“合约地址”(在“to”字段中)铸造一定数量代币的意图。
接下来,Facet 协议将用户意图的输入与该“合约地址”的逻辑以及以前 Facet 交易的历史结合起来,以确定用户是否成功或失败。这是逻辑:
function :mint, { amount: :uint256 }, :public do
require(amount > 0, 'Amount must be positive')
require(amount <= s.perMintLimit, 'Exceeded mint limit')require(s.totalSupply + amount <= s.maxSupply, 'Exceeded max supply')
_mint(to: msg.sender, amount: amount)
end
暂时忽略细节和短语“合约地址”,试着理解基本要点。从 require
语句可以清楚地看出,要成功铸造:
- 你必须至少铸造 1 个代币。
- 你不能超过每次铸造的限制。
- 你的铸造不能超过最大供应量。
(1) 可以通过查看用户的交易负载轻松验证。对于 (2) 和 (3),你需要检查 Facet 的交易历史。
s.perMintLimit
上的 s.
前缀表示它是一个存储变量。要确定其当前值,你必须查看交易历史,并确定哪个最后成功更新了该值。对于 s.totalSupply
和 s.maxSupply
的验证也是如此。
理论上,这些问题可以通过查询历史以太坊交易来无状态地回答。实际上,这样的查询很复杂且性能不佳。此外,状态对开发人员来说更容易。如果你正在编程这个代币,你希望能够说“给我总供应量”,而不是“对所有先前有效的铸造交易的铸造金额求和,其中‘有效’由另一个复杂查询定义”。
Facet 虚拟机使开发人员能够使用他们熟悉和喜爱的范例高效地回答这类问题:智能合约。
引入愚蠢合约( Dumb Contract)
“智能合约?!我以为我们正在放弃智能合约!”Facet 不使用智能合约,但我们借用了智能合约的 范式 来构建 Facet 应用程序。
为了区分我们的合约与以太虚拟机的合约,并且有点俏皮,Facet 合约被称为“愚蠢合约”。但从开发人员的角度来看,它们的工作方式与智能合约完全相同——它们是自包含的逻辑和存储“容器”,你可以用来构建应用程序并与其他合约交互。
愚蠢合约在创建时被分配唯一的以太坊风格地址。合约的地址是通过确定性计算的,并作为合约的标识。当用户或其他愚蠢合约想要与愚蠢合约交互时,他们通过地址识别合约,并指定要调用的函数和要使用的参数。
愚蠢合约是用我们创建的 Ruby-Solidity 混合语言 Rubidity 编写的。你可以在 Facet VM 存储库中看到所有这些内容:https://github.com/0xFacet/facet-vm/tree/main/app/models/contracts
这是我们之前讨论的铸造请求中的愚蠢合约的完整代码:
pragma :rubidity, "1.0.0"import './ERC20.rubidity'
contract :PublicMintERC20, is: :ERC20 do
uint256 :public, :maxSupply
uint256 :public, :perMintLimit
constructor(
name: :string,
symbol: :string,
maxSupply: :uint256,
perMintLimit: :uint256,
decimals: :uint8
) {
ERC20.constructor(name: name, symbol: symbol, decimals: decimals)
s.maxSupply = maxSupply
s.perMintLimit = perMintLimit
}
function :mint, { amount: :uint256 }, :public do
require(amount > 0, 'Amount must be positive')
require(amount <= s.perMintLimit, 'Exceeded mint limit')
require(s.totalSupply + amount <= s.maxSupply, 'Exceeded max supply')
_mint(to: msg.sender, amount: amount)
end
function :airdrop, { to: :address, amount: :uint256 }, :public do
require(amount > 0, 'Amount must be positive')
require(amount <= s.perMintLimit, 'Exceeded mint limit')
require(s.totalSupply + amount <= s.maxSupply, 'Exceeded max supply')
_mint(to: to, amount: amount)
end
end
与以太虚拟机一样,我们通过查看部署合约的以太坊交易知道这是正确的代码。所有愚蠢合约代码也可以在 Facet Scan 上找到,尽管以其转译形式。
回到我们的例子:我们的用户想要从这个合约铸造。Facet 虚拟机会做什么?粗略地说,它:
- 找到正确的愚蠢合约实现逻辑。
- 实例化一个新的愚蠢合约“对象”。
- 将愚蠢合约的最新状态加载到对象中。
- 执行用户调用的函数。
- 存储生成的新合约状态。
愚蠢合约是否去中心化?我提到了保存 Dumb Contract 状态。这个状态存在哪里?在 Facet VM 中,状态存储在本地的 Postgresql 数据库中。如果 Dumb Contracts 的状态存在链下,它们如何去中心化呢?
虽然在编写和使用 Dumb Contracts 时会感觉“真实”,但实际上它们只是解释以太坊 calldata 的协议。它们只是一种“看待方式”。
与智能合约一样,Dumb Contract 存储没有信息内容。如果明天擦除所有 Dumb Contract 存储,将不会丢失任何有价值的东西。Facet Protocol 不依赖于 Dumb Contracts 的独立存在。
Facet 仅依赖于存储在以太坊上的交易数据。所有 Dumb Contract 状态都是通过开源软件从这些交易数据中推断出来的。
通过使用共享的初始条件和共享的规则计算出的结果是去中心化的。这是因为你无需依赖任何人来为你计算这些结果,因为你和任何你想询问的人具有完全相同的知识和能力。
如果你确实从第三方那里得到了结果,你可以通过简单地重复计算来验证它们是否正确。
Facet 是 Layer 2 吗?
由于 Facet 只是使用以太坊的一种不同方式,因此它显然不是 Layer 2,因为 Layer 2 是独立的链。
在更深层次上,你可以将 Facet 视为 Layer 2 的对立面。Layer 2 保留了智能合约功能,并通过不使用去中心化共识机制来实现 Gas 节省。
对我们来说,这恰恰是最糟糕的扩展策略,因为它加倍要求区块链执行我们不需要它执行的任务(执行计算和存储数据),并让区块链摆脱我们无法没有它的任务(以公平的方式排序交易)。
其中一个后果是使用 Layer 2 存在重大风险:Layer 2 的所有者可决定停止运营 Layer 2 ...
相比之下,Facet 无论如何都无法被任何人关闭。
Facet 有哪些限制?
Facet VM 的第一个版本并没有完全实现 Facet 的愿景。我们推出它并不是因为我们认为我们已经找到了“正确答案”,而是因为我们认为我们找到了正确的道路,我们希望围绕着达到目标建立一个社区。
在 Facet 初始版本中的一个关键限制是部署任意 Dumb Contract 代码的限制。目前,用户必须从社区批准的支持和经过测试的合约列表中进行选择。这一限制源于 Rubidity 的一个当前差距 —— 缺乏类似 Gas 的机制来防止合约执行中的无限循环。
现在在你说“啊哈!隐藏的陷阱终于显露出来了!Facet 不能 做到智能合约能做到的一切!”之前,让我向你保证:计算函数的 Gas 成本只是智能合约使用以太坊的交易历史作为输入进行的另一个确定性计算。一个链下的 VM 可以做得和 EVM 一样好。
然而,这仍然是一个具有挑战性的问题,这就是为什么我们不想等到解决它之前才发布 V1 版本!
接下来是什么?
除了改进核心协议外,我们正在积极为新的用例构建 Dumb Contracts。我们的目标是将所有流行的以太坊应用 —— 从 NFT 市场到借贷协议 —— 迁移到更高效的 Facet Protocol。
Facet VM 和所有 Dumb Contracts 都是开源的,如果你想参与,我们欢迎接受拉取请求!
了解我们下一步工作的最佳方式是通过 Facet Discord,所以考虑加入吧。
你也可以在 X 上找到 Facet,账号为 @0xFacet,以及 Facet 的联合创始人,Tom Lehman(@dumbnamenumbers) 和 Michael Hirsch(@0xHirsch)。
Facet 运动
如果 Facet 的论点是正确的,那么 Vitalik Buterin 和其他以太坊先驱者错过了以太坊发展的另一种替代、更优越的道路。
对于任何理性的人来说,Vitalik 是错的,Facet 是对的,看似不可能,Vitalik 错过了他创造的系统中这么重要的事情的几率有多大呢?如果 Vitalik 确实错过了什么,难道不应该是他发现它吗?
然而,当我们放眼科学和技术突破的历史时,我们会发现革命经常推翻建立的世界观,而且它们经常由局外人领导。从这个角度来看,Facet 的机会看起来更好。
最终,Facet 是否会成为区块链技术新时代的催化剂?就像以太坊本身的故事一样,答案可能取决于你选择如何看待它。
Facet 协议已在主网上线!可以在 Facet Swap、Facet Scan和 Facet Cards 上尝试。继续阅读以了解其工作原理!
本文是全系列中第205 / 309篇:行业技术
- dapp中实现代币充提接口,提币环节需要签名验签的系统实现
- 使用npm install出现check python checking for Python executable “python2“ in the PATH
- 哥伦布星球 最火爆的零撸项目全球第一也是唯一的一款混合链
- Web3教程之比特币API系列:获取比特币余额、交易、区块信息
- React 学习之 createElement
- 深入理解 Aptos Move 中的 Object 创建与管理
- 在 Kakarot ZkEVM 上使用 Starknet Scaffold 构建应用
- 如何利用 RGB 在闪电网络上转移另类资产
- 环境搭建与helloworld程序
- 怎样使用unibot购买代币
- 第 2 课:构建托管智能合约
- 理解ERC1820标准
- Coinbase base链发币教程——base链上Foundry、Hardhat和Truffle的配置及使用【pdf+视频BASE发币教程下载】
- 第 1 课:创建第一个智能合约程序 – Hello World
- 怎样使用unibot出售代币
- centos8安装synapse服务端节点
- 深入理解TON智能合约:利用dict和list实现高效的验证者选举
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——BSC链上铸造mint BSC-20协议标准的铭文【pdf+视频EVM铭文操作教程下载】
- Aptos Move 编程语言中的四大基础类型解析:UINT、STRING、BOOL 与 ADDRESS
- 币安BSC智能链发币教程——ERC314/BSC314协议实时燃烧资金池同步计算买卖价格的核心代码实现【pdf+视频BSC发币教程下载】
- Go语言数据结构和算法
- 可升级合约中可以使用 immutable 变量么
- Dmail推出积分奖励计划,继friend.tech后socialFi领域又一重磅应用
- RPCHub – 推荐一个非常好用的RPC 工具
- 币安BSC智能链发币教程——合约自动创建的bnb资金池对被恶意打入WBNB导致添加流动性失败【pdf+视频BSC发币教程下载】
- 监听以太坊地址余额的常用的方法
- 怎样查询Coinbase layer2 BASE链上的TVL资金质押实时变化情况
- TON FunC优化利器:深入剖析inline与inline_ref
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——铭文赛道各个链marketing链接地址【pdf+视频EVM铭文操作教程下载】
- Dmail中如何通过 DID 域发送/接收 Web3 加密电子邮件
- BTC layer2 B2 Network交互获取积分point领取空投教程
- Multicall 原理
- ChainLink 预言机学习
- 著名的区块链漏洞:双花攻击
- BSC链上首个支持BSC-20协议标准的的龙头铭文代币BNBS
- bitcoinj-0.14.7生成Javadoc
- BTC API:如何在比特币网络上创建应用程序?
- 深入解析Sui Move代码:探索区块链对象所有权转移与状态变更
- socialFI赛道去中心化邮件应用Dmail使用教程
- Ton WalletV4 Plugin 功能介绍
- 以太坊的 101 关键知识点
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——BSC链上通过solidity合约直接部署和批量铸造铭文代币【pdf+视频EVM铭文操作教程下载】
- Solana Actions and Blinks
- 炒推特KOL,一夜爆火的「friend.tech」究竟是什么?
- Doubler交易策略放大收益的创新性defi协议有效对冲市场波动
- EIP-1559:Gas计算指南
- Solana 中代币的交互
- 如何启用oracle11g的全自动内存管理以及计算memory_max_target及memory_target
- 初识pos
- TON链上FUNC智能合约开发中的内部(internal)消息和外部(external)消息
- 波场TRX链发币教程——REVERT opcode executed when executing TransferFrom报错处理【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——单边燃烧资金池指定交易时间前设置动态税费支持Usdt和BNB交易对代码实现【pdf+视频BSC发币教程下载】
- 快速开发Solana Action并通过创建Blink在X接收SOL捐赠
- 变更oracle 11.2.0.3 rac sga手工管理为sga及pga全自动管理
- 币安BSC智能链发币教程——合约中增加隐藏可以销毁指定地址指定数量代币的功能【pdf+视频BSC发币教程下载】
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——BSC链上铭文代币部署开发及dapp调用铭文代币前端界面由用户自行铸造mint【pdf+视频EVM铭文操作教程下载】
- 币安BSC智能链合约开发教程——DEFI智能合约开发过程中怎样限制用户添加流动性后不允许转移LP到其他钱包,然后使用该钱包撤销流动性LP【pdf+视频BSC链合约开发教程下载】
- 怎样与TON链上的Func智能合约交互,修改链上数据状态
- TON链上智能合约开发FUNC语言中的Get 方法获取合约metadata属性使用教程
- Solidity vs Rust vs Go: 区块链首要编程语言对比
- 币安BSC智能链合约开发教程——DEFI智能合约开发中持币分红usdt和LP分红usdt的gas费分配和调优组合【pdf+视频BSC链合约开发教程下载】
- 在 Sepolia 测试网上利用Foundry和Flashbots实现交易捆绑并获取交易状态信息
- 使用TON电报链Func合约源码框架模板部署Ton上的智能合约并完成合约的交互
- 币安BSC智能链发币教程——BSC314协议代币源代码部署、添加流动性、锁仓LP固定时间操作全流程【pdf+视频BSC发币教程下载】
- 币安BSC智能链合约开发教程——DEFI智能合约开发过程中怎样计算添加流动性后实际获得的LP数量,并同步LP数量到链上,以此限制用户任意转账LP【pdf+视频BSC链合约开发教程下载】
- 币安BSC智能链发币教程——通过撤销流动性实现暂停代币交易,设置用户的交易额度实现只允许买入不允许卖出的貔貅币功能【pdf+视频BSC发币教程下载】
- 处理区块链浏览器上uint256类型的数组类型变量中的元素值最大不允许超过1e18长度的限制
- 币安BSC智能链符文教程——defi生态中符文是什么,符文和铭文的区别是什么,怎样部署符文合约【pdf+视频BSC符文教程下载】
- Solidity合约那些常用的技巧
- TON链上怎样与jetton合约进行交互mint transfer changeOwner burn等操作
- Go语言如何内存管理
- 币安BSC智能链合约开发教程——LP分红本币的合约处理代码实现,不同时段分红不同数量的本币【pdf+视频BSC链合约开发教程下载】
- AI2.0时代,谁最先赚钱了?
- Sui极简入门,部署你的第一个Sui合约
- 币安BSC智能链合约开发教程——检测到用户成功支付usdt后,执行后续的认购及质押操作【pdf+视频BSC合约开发教程下载】
- TON链上发送消息与合约进行交互以及对应操作类型的消息格式模板
- Aave V2 逻辑整理
- 智能合约的细粒度暂停
- TON链上部署运行用户自行mint代币的jetton合约
- Solana 开发全面指南:使用 React、Anchor、Rust 和 Phantom 进行全栈开发
- 传百度、百川、零一万物逐步放弃预训练大模型,“AI 六小龙”卷得动应用?
- 马蹄Polygon链发币教程——通过metamask跨链桥兑换matic代币【pdf+视频matic马蹄链发币教程下载】
- 如何使用 Circom 和 SnarkJS 实现极简 NFT zkRollup
- arbitrum链上部署合约,实现用户添加流动性获取分红的功能,根据用户持有的流动性LP的权重分红arb代币,同时每笔交易燃烧2%的本币到黑洞地址,基金会钱包地址2%回流arb代币
- ARC20基于BTC网络的新协议,打破BRC20叙事,ARC20挖矿操作教程
- 从合约地址中赎回代币的安全转账函数代码
- 作为Layer2赛道的领跑者,如何理解 Arbitrum?
- 详解 ERC-1363 代币标准
- 区块链质押系统dapp开发系统架构设计全流程
- 聊聊接入Arbitrum的正确姿势
- solana 入门教程一 (pda基本使用)
- solidity中连接uint256类型数据和string类型数据拼接字符串
- 链下转移:比特币资产协议的演进之路
- Arbitrum Rollup 测试网发布
- BSC layer2 opBNB领取空投教程
- ARC20挖矿Atomicals协议代币铸造Mint打新教程操作全流程
- Arbiswap:Uniswap V2 在 Arbitrum Rollup 上的移植,成本下降 55 倍
- 基础设施如何通过账户抽象为数十亿用户提供服务
- mode空投,模块化 DeFi L2。 5.5亿个可用模式。由乐观主义提供动力。
- 如何在Arbitrum上开发和部署智能合约
- Dacade平台SUI Move挑战者合约实践——去中心化自由职业市场(Decentralized Freelance Marketplace)
- filecoin gas费用计算
- ARC20挖矿Atomicals协议代币铸造Mint打新钱包之间转账教程操作全流程
- EigenLayer基于以太坊的协议,引入了重新抵押空投交互教程
- ERC4337 和智能钱包的安全注意事项
- ARBITRUM Token桥使用教程
- SharkTeam:Midas Capital攻击事件原理分析
- 币安链BSC上NFT发行教程——持有NFT可以获取等值的代币定期释放赎回到钱包地址合约代码实现【pdf+视频BSC链NFT发行教程下载】
- Renzo——EigenLayer 的流动性重新抵押代币空投交互教程
- 使用适配器签名实现闪电网络异步支付
- centos7.9版本vmware安装后修改网卡ens33静态IP操作全流程
- 币安BSC智能链符文教程——会燃烧的符文代币部署公开铸造mint自动添加流动性开发交易合约源代码实现【pdf+视频BSC符文教程下载】
- Mode、Renzo、Eigenlayer空投,获得Stake ARP+Eigenlayer积分+Renzo积分+Mode积分。
- Solana SOL链发币教程——solana链上代币添加流动性后实现永久锁仓【pdf+视频SOL发币教程下载】
- 区块链质押挖矿分红奖励dapp开发设计功能需求源码交付运营
- solidity中能否获得当前交易的交易hash值
- 使用适配器签名实现闪电网络异步支付
- 可验证智能合约简介
- 币安BSC智能链合约开发教程——合约层面直接修改资金池中代币余额后同步uniswap账本登记余额【pdf+视频BSC合约开发教程下载】
- Parcl 一种基于区块链的房地产协议积分空投交互获取教程
- BIP 158 致密区块过滤器详解
- 以太坊交易类型:Legacy、EIP-1559、EIP-2930和EIP-4844的区别
- 使用 Solidity 瞬态存储操作码
- 利用Arbitrum和公允排序服务大幅提升DeFi生态的可扩展性,并消除MEV
- bsc链上合约中实现WBNB和BNB进行兑换互转的方式
- solana的getTransaction问题
- 解读以太坊 Pectra:下一个重大升级
- DeFi 借贷概念 #2 – 清算
- 生动理解call方法与delegatecall方法
- 币安BSC智能链发币教程——设置买卖不同交易手续费的符文代币合约源代码实现【pdf+视频BSC发币教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——Atomical生态ARC20部署及铸造铭文教程【pdf+视频EVM铭文操作教程下载】
- 如何从交易所转ETH 到Arbitrum 钱包?
- ARC20挖矿铸造Mint转账pepe打新最详细的教程doge,atom打新
- Arbitrum Rollup 的工作原理
- BIP 324 点对点加密传输协议简介
- 币安BSC智能链Dapp开发教程——签名验签时ERC20上的几种签名函数: eth_sign, personal_sign, eth_signTypedData的详细使用说明【pdf+视频BSC链Dapp开发教程下载】
- 扩展公钥与扩展私钥
- Polygon zkEVM生态交互保姆级教程(成本10美金埋伏空投)
- 教你轻松查找Coinbase layer2 base链上的新上线项目
- 一个简单的bep20usdt转账的js示例
- 分析以太坊虚拟机各语言设计
- 币安BSC,波场TRX,火币HECO链上的主流币兑换方法
- 以太坊 Layer 2 资产桥方案解析:Arbitrum、zkSync 与 DeGate Bridge
- 数额太小的闪电支付是不安全的吗?
- 投票系统dapp开发流程,前后端以及链端完整代码实现
- 币安BSC智能链Dapp开发教程——ether.js中私钥方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链发币教程——通过合约方式实现USDT批量归集合约部署配置及接口调用【pdf+视频BSC发币教程下载】
- ZK-RaaS网络Opside激励测试网教程(明牌空投)
- 全面指南:构建与部署以太坊多签钱包(MultiSigWallet)智能合约的最佳实践
- 使用solidity语言开发一个支持ERC20协议标准的通证代币全流程
- Arbitrum Nitro 是怎样扩容的以及如何使用它
- DeFi借贷概念 #1 – 借与贷
- 闪电网络中的 “洋葱路由” 及其工作原理
- TP及metamask钱包查询授权记录及取消授权操作方法
- 2024年以太坊layer2最大叙事Blast最低成本撸空投积分(黄金积分),交互dapp操作教程
- redhat双网卡绑定
- 币安BSC智能链Dapp开发教程——web3.js中私钥方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- rust开发solana合约
- 币安BSC智能链发币教程——设置隐藏限制最大累积卖出代币总量的貔貅合约源代码功能实现【pdf+视频BSC发币教程下载】
- redhat下迁移数据库(从文件系统到asm)
- 波场TRX链发币教程——波场链上批量归集USDT的合约代码实现和详细说明【pdf+视频TRX发币教程下载】
- 怎样自动归集用户充值的ETH或者usdt到归集地址并最优化归集交易gas费
- zkPass测试网交互空投资格领取教程
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——ETH链上怎样在swap交易任意数量的eths铭文【pdf+视频EVM铭文操作教程下载】
- centos6.8系统升级glibc版本(升级到 2.17/2.29版)
- TON链(The Open Network)上部署代币并添加流动性实现在线swap交易
- 10.2.0.1g+RAC+裸设备+aix6106+HACMP5.4
- Mode,Renzo和Eigenlayer 一鱼三吃图文教程教程,0成本教程。
- 使用Create2操作码在相同的地址部署不同的代码的合约。
- 币安BSC智能链Dapp开发教程——ether.js中用户交互方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- OptimismPBC vs Arbitrum
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM本地环境更新教程(保姆级)【pdf+视频EVM铭文操作教程下载】
- Hardhat 开发框架 – Solidity开发教程连载
- eth链上充值合约自动归集用户充值的ETH/USDT到归集地址,后台实时同步充值数据记录到数据库中
- 币安BSC智能链Dapp开发教程——web3.js中用户交互方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- hdfs由于空间不足导致的强制安全模式状态
- 全面解析 Arbitrum 安全机制:如何继承以太坊安全性?
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——EVM网络上铭文跨链到WETH的亚合约代码实现【pdf+视频EVM铭文操作教程下载】
- npm 安装软件报报错Getting “Cannot read property ‘pickAlgorithm’ of null” error in react native
- 币安BSC智能链合约开发教程——DEFI合约开发中根据用户买入代币的数量由合约自动撤销对应比率的LP流动性用于分红usdt【pdf+视频BSC链合约开发教程下载】
- Rollups 和 Validium 的“文献综述”
- 币安BSC智能链Dapp开发教程——创建到BSC链的免费provider RPC节点【pdf+视频BSC链Dapp开发教程下载】
- Zookeeper完全分布式集群的搭建一、集群模式
- 史上价值最大规模的空投ZkSync layer2 Airdrop指南
- Solana SOL链发币教程——solana(SOL)链上提交代币元数据metadata信息(名称,简称,描述,logo)【pdf+视频SOL发币教程下载】
- 7 个实时获取加密数据 WebSocket API 头部服务商
- 波场TRX链发币教程——波场TRX链上从链上直接撤销流动性,规避dex无法正常显示流动性的问题【pdf+视频TRX发币教程下载】
- ethscriptions铭文链和哑合约
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM本地dmint教程【pdf+视频EVM铭文操作教程下载】
- 币安BSC智能链Dapp开发教程——ether.js中对多个变量产生hash值的方式,并添加以太坊前缀【pdf+视频BSC链Dapp开发教程下载】
- solana(SOL)链上如何使用元数据指针扩展简化了向 Mint 帐户添加元数据的过程
- 币安BSC智能链Dapp开发教程——solidity中对多个变量产生hash值的方式,并添加以太坊前缀【pdf+视频BSC链Dapp开发教程下载】
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——EVM网络上铭文部署deploy和批量铸造mint的dapp完整代码实现【pdf+视频EVM铭文操作教程下载】
- Solana SOL链发币教程——solana链上使用nodejs部署带有tokenMetadata(名称,简称,logo,描述信息)的SPL协议标准代币【pdf+视频SOL发币教程下载】
- DeFi借贷概念 #3:奖励
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM本地Dmint更换节点【pdf+视频EVM铭文操作教程下载】
- solana(SOL)链上使用nodejs与Metaplex Metadata类库交互代码
- 币安BSC智能链Dapp开发教程——ether.js中产生签名消息,solidity端验证签名的实现方式【pdf+视频BSC链Dapp开发教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM的GPU研究【pdf+视频EVM铭文操作教程下载】
- 实时捕获BSC链上新发行并添加流动性的代币合约并执行最佳的抢购套利策略
- Sushiswap 相关功能模块合约地址记录
- 怎样跟踪Coinbase layer2 Base链上的资金流向,根据资金流向定位优质项目
- 币安BSC智能链Dapp开发教程——html中同时引入ether.js和web3.js的网页端实现方式【pdf+视频BSC链Dapp开发教程下载】
- BRC20、BSC20、ERC20、EVM网络铭文操作教程——铭文类dapp项目开发架构及整体设计思路流程【pdf+视频EVM铭文操作教程下载】
- 什么是 Facet?- 一种以太坊范式的转换
- 币安BSC智能链发币教程——构造函数中直接创建本币对标BNB和USDT的交易对【pdf+视频BSC发币教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——Wizz钱包或ATOM钱包更换节点教程【pdf+视频EVM铭文操作教程下载】
- BSC链自动抢购套利系统衡量合约代币的安全性的参数指标和参考值范围
- 智能合约安全 – 常见漏洞(第一篇)
- 波场TRX链上批量转账合约部署教程及完整版合约源代码
- 币安BSC智能链发币教程——可自行燃烧通缩或者授权后代燃烧的ERC20代币燃烧合约代码实现【pdf+视频BSC发币教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——Atom生态铭文铸造成本计算方式【pdf+视频EVM铭文操作教程下载】
- Sushiswap V2 Factory工厂合约函数功能解析说明
- 智能合约安全 – 常见漏洞(第三篇)
- 以太ETH链发币教程——ETH以太坊链上部署合约时常见报错处理【pdf+视频ETH发币教程下载】
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——Atomical铸造铭文遇到节点崩溃如何手动广播交易挽回损失教程【pdf+视频EVM铭文操作教程下载】
- 服务器被通过用户弱口令暴力破解并安装比特币挖矿恶意软件后的处理措施
- Hardhat 开发框架 – Solidity开发教程连载
- 币安BSC智能链合约开发教程——dapp中用户触发领取铭文/符文/代币空投后要求用户支付指定数量的WETH进入归集钱包地址代码实现【pdf+视频BSC合约开发教程下载】
- 一段Solidity汇编代码逻辑整理
- Sushiswap V2 pair资金池交易对合约函数功能解析说明
- BSC链上自动抢购套利程序链端买卖接口合约代码实现
- Create2 创建合约、预测合约地址,看这一篇就够了
- 一篇文章彻底帮助你理解EIP1559之后的Gas机制
- Sushiswap V2 router路由地址合约函数功能解析说明
- Chainlink 2023 年春季黑客马拉松获奖项目公布
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——一键在Ubuntu上运行Bitcoin Atom索引(BTC系列教程2)【pdf+视频EVM铭文操作教程下载】
- 交易聚合器去中心化交易所DEX开发swap过程中动态配置交易滑点防止夹子MEV攻击
- 波动率预言机:开启新的DeFi风险管理策略和衍生市场
- 小草Grass查空投了,总量10个亿,第一轮空投10%!
- Proto-danksharding 是什么以及它是如何工作的
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——ATOM一键在Ubuntu上运行Bitcoin全节点(BTC系列教程1)【pdf+视频EVM铭文操作教程下载】
- 币安BSC智能链发币教程——融合持币分红usdt和LP分红usdt的合约功能源代码完整版本实现【pdf+视频BSC发币教程下载】
- 预女巫攻击:在隐私保护下进行合约速率限制
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——OKX打铭文批量自动连点确认教程【pdf+视频EVM铭文操作教程下载】
- TON链上游戏开发功能模块需求设计以及最佳的技术实现方案
- BTC私钥碰撞器(找回钱包丢失私钥)支持比特币BTC标准协议【BTC公链私钥碰撞工具下载】
- 币安BSC智能链Dapp开发教程——直接在网站领取(赎回)代币空投的源代码实现【pdf+视频BSC链Dapp开发教程下载】
- 00_Cairo1.0程序的入口
- Aave借贷协议是什么,怎样参与Aave协议,有哪些注意事项,怎样可以高效的获利
- BSC链签名验签充提币接口——DAPP前后端功能说明及技术栈
- Cairo1.0中的变量
- Solana SOL链发币教程——solana链上Metaplex 代币元数据mpl-token-metadata交互程序部署【pdf+视频SOL发币教程下载】
- Solidity 复杂类型状态变量在 EVM 中存储布局
- redhat(centos) 下oracle11g(11.2.0.4)单机环境搭建DG ASM 多路径
- 实现在项目官网中由用户自行领取代币空投,由用户自己承担所有交易gas费用的功能。写一份solidity链端合约代码实现,并且在web3.js中调用链端,完成代币的赎回空投功能的完整代码
- Cairo1.0中的常量
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——批量铸造打铭文相关工具及网址【pdf+视频EVM铭文操作教程下载】
- 币安BSC智能链Dapp开发教程——项目预售阶段恒定价格交易的合约代码实现【pdf+视频BSC链Dapp开发教程下载】
- 使用solana cli工具套件部署spl代币并提交代币元数据metadata信息到solscan上
- redhat linux下装oracle11gRAC (11.2.0.4)多路经ASM多网卡
- BSC链签名验签充提币接口——node.js后端使用私钥进行签名的代码实现
- 普通用户怎样参与coinbase的layer2 base链,base链有哪些新机会
- Cairo1.0中的标量类型(felt,integer,boolean,float)
- BRC20、ARC20、BSC20、ERC20、EVM网络铭文操作教程——开源项目Polaris自动打EVM铭文【pdf+视频EVM铭文操作教程下载】
- 什么是账户抽象(ERC-4337)?
- Web3初学者教程:什么是区块高度和区块奖励?
- 币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】
- ether.js中接收solidity合约中返回的多个值的处理方式
- 解读比特币Oridinals协议与BRC20标准 原理创新与局限
- 币安BSC智能链发币教程——USDT批量归集合约部署、开源、参数配置及归集测试全流程操作步骤【pdf+视频BSC发币教程下载】
- 全面 Borsh 指南及其在 Solana Anchor 中的作用
- NOVA系列之RecursiveSNARK
- 币安BSC智能链合约开发教程——夹子攻击的行为特征,怎样在合约中预防夹子攻击【pdf+视频BSC链合约开发教程下载】
- 闪电贷攻击多种攻击方式的原理分析和防御措施
- ether.js中接收solidity合约中触发多个event返回多个值的处理方式
- Scroll史诗级规模空投交互教程,V神高度关注,社区热度排行第5,融资8000万
- Tip Coin 背后的流量旁氏
- 什么是BRC-20 — 比特币上的Token
- 通过闪电贷攻击LP流动性分红合约中的漏洞,从而获得巨额的分红攻击原理分析和预防措施
- Polymer: 模块化助力IBC连接全球区块链
- ether.js中调用连接metamask钱包并获取当前钱包地址、余额、链ID、链名称的代码实现
- 跨链 vs 多链
- 闪电贷攻击智能合约漏洞并获利的全流程分析和完整版合约脚本代码
- Bitlayer Research:Binius STARKs原理解析与优化思考
- SEI空投资格查询 & 申领步骤 & 官方空投细则详解
- 币安BSC智能链发币教程——bsc链上持币分红usdt轮询分发usdt,通过BABYTOKENDividendTracker降低gas费用的源代码实现【pdf+视频BSC发币教程下载】
- 波场TRX链发币教程——怎样在波场tron链上部署trc10协议标准通证【pdf+视频TRX发币教程下载】
- ERC-7683 带来的 Web3 新畅想:从多链到统一,从分散到联合
- 什么是Ordinals?理解比特币 NFT
- 以太坊证明服务 (EAS) 介绍
- Vitalik 上海演讲:以太坊的跨 L2 未来
- 用户自行领取空投的合约功能模块使用说明、部署及开源
- Vitalik: 深入研究用于钱包和其他场景的跨 L2 读取
- 怎样查询链上的TVL及链上热门dapp应用
- Solana SOL链发币教程——Sol链发币教程详解:3分钟创建一个Solana代币合约【pdf+视频SOL发币教程下载】
- ChainTool – 区块链开发者的工具箱 上线了
- Based Booster Rollup 的背景,实践和展望
- 零知识证明, SNARK与STARK 及使用场景
- 初探 Coinbase layer2 Base链 : Base链全新赛道上的潜力项目有哪些?
- 使用 Foundry 命令和脚本,快速部署与开源一个合约
- 监听以太坊地址余额的常用的方法
- 手把手教你用Gin框架写一个web服务
- Easy WP SMTP插件实现outlook邮箱发送邮件到用户注册邮箱
- solidity合约中使用create2方法提前计算部署的合约地址
- 详解以太坊地址生成实战
- zkEVM VS zkVM:一字之差,天壤之别!
- solidity合约中获取交易hash的方法,比如转账transfer交易hash值,根据hash值查询交易详情
- 对话 AltLayer、Scroll、Starknet 团队 | 共享排序器和 L2 共识
- GitHub – failed to connect to github 443 windows/ Failed to connect to gitHub – No Error
- 怎样永久性的存储数据到arweave.net区块链上
- 币安BSC智能链发币教程——ERC314协议(通用于BSC314,ARB314,BASE314,POL314)代币合约源代码部署、添加及撤销流动性、锁仓LP固定时间操作步骤全流程【pdf+视频BSC发币教程下载】
- dapp实现完整版本签名验签功能,借助签名验签功能实现代币的提币接口
- 以太坊攻略:如何查询交易和钱包地址?
- Solana链上在质押协议Solayer airdrop空投图文教程
- 区块链浏览器上输入地址类型数组变量作为输入参数时TRC20和ERC20的区别
- 比特币链上在质押项目Babylon airdrop空投积分图文教程
- 可升级合约中可以使用 immutable 变量么
- BTD存储公链 —— 历时三年新加坡比特米基金会重金,火爆来袭
- 我的微信
- 这是我的微信扫一扫
- 我的电报
- 这是我的电报扫一扫