- A+
图片来源:Mauro Sbicego on Unsplash
零知识证明使*证明者(Prover)能够向验证者(Verifier)*证明某物的知识而不暴露该知识。例如,如果我们想证明我们已经解决了一个谜题,而又不透露解决方案,我们可以使用零知识证明。
零知识证明与智能合约有什么关系?
想象一个名为 "Sudoku(数独)"的Solidity智能合约,运行在 EVM 区块链上。它有一个公共的二维数组,代表棋盘的初始状态。
译者注:数独是源自18世纪瑞士的一种数学游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次
Sudoku合约 有一个公共函数,接受一个二维数组,根据初始状态和数独规则进行检查,如果解决方案是正确的,则铸造一个NFT。
contract Sudoku {
// Initial board state
uint8[][] public initialState;
function answer(uint[][] memory solution) public {
// 检查 `solution` 匹配初始状态 `initialState`
...
// 检查 `solution` 匹配 数独 规则
// (1-9 in squares & lines)
...
// 如果匹配铸造 NFT
...
}
}
这就可以工作了,对吧?但是等等,棋盘有多大呢?要知道棋盘越大,函数中的循环迭代次数就越多,函数就越贵。这没法很好地扩容。
另外,当我可以复制第一个成功的答案时,我为什么要花所有的精力去解决它呢?只要有一个人在链上提交了答案,解决方案就会公开,因为每笔交易的调用数据都是公开的。我会通过复制第一个成功的解决方案来铸造一个NFT!
零知识证明使证明者能够向验证者证明对某一事物的了解,而不透露该实际事物。
ZK密码学使我们能够创建一个 Solidity 智能合约来作为一个验证者,而不知道任何关于解决方案的信息。证明者(我们)可以生成一个链外证明将其发布给验证者(智能合约),证明该谜题已被解开,而不泄露解决方案。
了解了零知识证明与智能合约的关系,开始看看真实的案例,编写一个 ZK 电路。
Circom 介绍
Circom 是一种新型的特定领域语言,用于定义算术电路,它可用于生成零知识证明。
作为开发者,我们可以用Circom写一个ZK电路,检查输入是否在链下解决了难题。然后我们可以用这个电路来生成一个证明,证明这个谜题被找到了。我们也可以用这个电路来生成一个Verifier智能合约,检查电路吐出的任何证明。同样,由于零知识密码学的存在,这个证明不包含任何关于解决方案的信息。这意味着在链上发布的信息并没有揭示任何有关它的信息。它唯一揭示的是解决方案是否被解决了。
第一个ZK电路
本攻略的源代码可*在GitHub*。这段代码仅用于演示目的。请不要在生产中使用它。
我们想证明我们知道下面这个二次方程的根(x):
x^2 + x + 5 = 11
高中数学学生知道我们可以用二次方程手动计算出x。我们想向智能合约证明,我们知道它,而不给出值。
第1步 - 设置你的环境
我们在本攻略中使用yarn
和Hardhat 以太坊开发环境。使用设置指南创建一个新的Hardhat项目。
接下来,安装hardhat-circom
包:
yarn add hardhat-circom
最后,删除所有安装时附带的合约、脚本和测试。
第二步 - 编写电路
在代码库的根目录下创建一个名为circuits
的目录。
在circuits
中创建一个名为quadratic.circom
的新文件,并粘贴以下几行代码:
pragma circom 2.0.0; // The circom compiler version
// Simple function to square a value
function sqr(x) {
return x*x;
}
// The main component for the circuit
// This checks that the input (x) does indeed solve the equation
// x^2 + x + 5 = 11
// Answer: x = 2
template Quadratic () {
// input x (private by default)
signal input x;
// output, the right side of the equals sign
signal output right;
// Square x for x^2
var first = sqr(x);
// x for x
var second = x;
// 5 for 5
var third = 5;
// Add them all together to get the right side of the equation
var sum = first + second + third;
// Assign the right side of the equation to the output signal
// <== is an assignment + constraint
right <== sum;
// Constrain the right to be 11
// === is a constraint
right === 11;
}
// Entry point into the circuit
component main = Quadratic();
这个电路是链外组件,它私下检查一个解决方案并创建一个证明。大部分的语法是不言自明的,但有一些新的术语:"信号(Signals)"和 "约束(Constraints)"。
信号是输入和输出值,但也可以是电路中的中间值。可以把它们看作是电路中的垫脚石。
约束对系统中的每一个垫脚石强制执行一个条件。===
是一个约束的例子,而<==
是一个约束和赋值的例子。
第三步 - 配置Hardhat配置
Hardhat 还不知道如何编译或运行电路。让我们修改一下hardhat.config.js
文件,使其看起来像这样:
require("@nomicfoundation/hardhat-toolbox");
require("hardhat-circom");
/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
solidity: {
compilers: [
{
version: "0.6.11",
},
],
},
circom: {
inputBasePath: "./circuits",
ptau: "https://hermez.s3-eu-west-1.amazonaws.com/powersOfTau28_hez_final_15.ptau",
circuits: [
{
name: "quadratic",
},
],
},
};
我们添加的新部分是require("hardhat-circom")
和exports
中的circom
部分。
第四步 - 测试电路
在test
目录下创建一个名为quadratic.test.js
的新文件,并粘贴以下内容:
const hre = require("hardhat");
const { ethers } = require("hardhat");
const { assert, expect } = require("chai");
const snarkjs = require("snarkjs");
describe("quadratic circuit", () => {
let circuit;
const sampleInput = {
x: "2",
};
const sanityCheck = true;
before(async () => {
circuit = await hre.circuitTest.setup("quadratic");
});
describe('circuit tests', () => {
it("produces a witness with valid constraints", async () => {
const witness = await circuit.calculateWitness(sampleInput, sanityCheck);
await circuit.checkConstraints(witness);
});
it("has expected witness values", async () => {
const witness = await circuit.calculateLabeledWitness(
sampleInput,
sanityCheck
);
assert.propertyVal(witness, "main.x", sampleInput.x);
assert.propertyVal(witness, "main.right", "11");
});
it("has the correct output", async () => {
const expected = { right: 11 };
const witness = await circuit.calculateWitness(sampleInput, sanityCheck);
await circuit.assertOut(witness, expected);
});
it("fails if the input is wrong", async () => {
await expect(circuit.calculateWitness({x: 3}, sanityCheck)).to.be.rejectedWith(Error);
});
})
});
我们在这里的三个测试用例用来测试:
- 当给定输入时,约束是有效的。
- 见证值是正确的。
- 给出正确的值时,输出是正确的。
- 当给定一个不正确的值时,电路会失败。
运行yarn hardhat test
来运行测试。
好吧,你可能在想:"这很好,但现在只是在链外测试电路。我们如何用它来生成一个证明,让智能合约来验证它?"好问题。
第五步 -- 生成验证者智能合约
Circom 非常棒,因为它不用手工编写验证者智能合约,而是用我们已经写好的电路为我们生成一个验证者!
要做到这一点,我们需要给它一些有效的输入。在circuits
中创建另一个名为quadratic.json
的文件,并粘贴以下内容:
{
"x": 2
}
然后,在代码库的根目录,运行以下内容:
yarn hardhat circom --deterministic --debug --verbose
这将生成一堆有趣的文件,其中最重要的是,在contracts
中的一个文件,叫做QuadraticVerifier.sol
。
第六步 - 测试验证者智能合约
在我们的quadratic.test.js
文件中,在circuit tests
下,添加一个新的describe
代码块,内容如下:
...
describe('verifier tests', () => {
let verifier;
let jsonCalldata;
beforeEach(async () => {
// Create and deploy the Verifier contract
const VerifierFactory = await ethers.getContractFactory("contracts/QuadraticVerifier.sol:Verifier");
verifier = await VerifierFactory.deploy();
// Generate the proof using snarkjs
const {proof, publicSignals} = await snarkjs.groth16.fullProve(sampleInput, "circuits/quadratic.wasm", "circuits/quadratic.zkey");
// Construct the raw calldata to be sent to the verifier contract
const rawcalldata = await snarkjs.groth16.exportSolidityCallData(proof, publicSignals);
jsonCalldata = JSON.parse("["+rawcalldata+"]")
})
it("proves the proof", async () => {
assert.isTrue(await verifier.verifyProof(jsonCalldata[0], jsonCalldata[1], jsonCalldata[2], jsonCalldata[3]));
})
it("fails to prove if the public signals are wrong", async () => {
assert.isFalse(await verifier.verifyProof(jsonCalldata[0], jsonCalldata[1], jsonCalldata[2], [12]))
})
})
...
这些测试检查向提交得验证者智能合约Proof的正确和失败的情况。 通过 yarn hardhat test
来运行测试。
祝贺你!你完成了一个的ZK电路和 ZK 智能合约验证者!
接下来的步骤
为了继续这个例子,还可以尝试以下:
- 将验证者合约部署到测试网,在链外生成证明,并使用Remix进行测试。
- 创建一个与验证者关联的合约,在证明找到解决方案时,铸造 NFT。
- 创建一个与所有这些部分互动的前端。
- 编写能进行更复杂计算的电路。
- 为circom-playground资源库贡献力量,增加新的例子和 PR
进一步阅读:
本攻略的源代码可在GitHub上。要了解更多关于智能合约安全和智能合约审计的信息,请访问 Cyfrin.io。
本文是全系列中第186 / 240篇:通证发行
- 币安BSC智能链发币教程——pancakeswap薄饼添加流动性后实现锁仓固定时间【pdf+视频BSC发币教程下载】
- 波场trx发行数字货币——tronlink钱包添加发行的代币【justswap交易所】
- 币安BSC智能链发币教程——5%代币自动进入底池,95%依赖交易产出的合约代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——无限增发功能合约代码实现【pdf+视频BSC发币教程下载】
- Coinbase base链发币教程——metamask钱包添加base链主网和测试网【pdf+视频BASE发币教程下载】
- 波场链TRX+sunswap交易所发币教程——合约部署完成并开源后无法更新通证上传logo原因及解决方案【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——pancakeswap薄饼添加流动性后实现永久锁仓【pdf+视频BSC发币教程下载】
- Coinbase base链发币教程——base链上layer2生态主网及测试网相关合约地址使用说明【pdf+视频BASE发币教程下载】
- 波场TRX发行代币——上线justswap交易所【发币教程pdf下载】
- 币安BSC智能链发币教程——AVE检测合约带有隐藏owner漏洞的修复方式【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——手动燃烧功能合约代码【pdf+视频BSC发币教程下载】
- Coinbase base链发币教程——base链上领取测试币ETH,测试网水龙头链接地址【pdf+视频BASE发币教程下载】
- 币安BSC智能链发币教程——分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约部署完成后开源阶段无法自动补充构造函数输入参数的ABI码问题及解决方法【pdf+视频BSC发币教程下载】
- Coinbase base链发币教程——base主网跨链桥的使用(ETH和BASE之间跨链)【pdf+视频BASE发币教程下载】
- 火币生态链自助发币工具【HECO-TokenDIY】
- 币安BSC智能链发币教程——合约中引入黑名单功能及执行(解除)拉黑操作【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——dapp开发调用智能合约实现代币的充提币接口实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——带黑白名单功能的合约代码【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——燃烧通缩营销钱包持币分红三代推广收益合约部署全流程【pdf+视频币安链BSC发币教程下载】
- Coinbase base链发币教程——remix+metamask实现BASE链上发币【pdf+视频BASE发币教程下载】
- BSC币安智能链+PancakeSwap薄饼发币教程【pdf+视频币安链BSC发币教程下载】全程线上免费咨询指导
- Ordinals 生成式 BRC-721 标准
- 币安智能链一键发币工具【BSC-TokenDIY】小白发币教程pdf下载
- 币安BSC智能链发币教程——批量创建钱包地址随机私钥方式支持ETH,BSC,HECO,OKC等ERC20协议公链【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——交易时持币地址数量空投裂变的合约代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——限制添加流动性大于指定值才能获得加池分红usdt【pdf+视频BSC发币教程下载】
- Coinbase base链发币教程——base链上实现在sushiswap添加流动性分红usdt的合约代码实现【pdf+视频BASE发币教程下载】
- pancakeswap薄饼上添加流动性时同时实现BNB和USDT的交易
- 币安BSC智能链发币教程——创建多重签名钱包地址及转账交易流程【pdf+视频BSC发币教程下载】
- 私钥碰撞器(找回钱包丢失私钥)支持所有ERC20标准协议——支持BSC、OKC、HECO、ETH公链私钥碰撞工具下载
- 币安BSC智能链发币教程——合约部署完成后开源阶段无法自动补充构造函数输入参数的ABI码问题及解决方法【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——根据当前代币实时价格核算交易量达到后实现交易挖矿合约代码实现【pdf+视频BSC发币教程下载】
- 如何使用Create2工厂创建合约并验证(Base Remix)?
- 币安智能链一键发币工具【BSC-TokenDIY】小白发币教程pdf下载【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——5%代币自动进入底池,95%依赖交易产出的合约代码实现【pdf+视频BSC发币教程下载】
- BASE链上貔貅币完整版合约源码,上线baseswap交易所
- 币安智能链BSC发币教程——添加流动性分红任何币种+自动回流底池+回流营销BNB或者USDT+反机器人反夹子合约代码实现【pdf+视频币安链BSC发币教程下载】
- Arbitrum链发币教程——上线SushiSwap寿司交易所及下架交易代币【pdf+视频Arbitrum发币教程下载】
- 解析 Tornado 治理攻击 – 如何同一个地址上部署不同的合约
- 币安BSC智能链发币教程——remix+metamask实现币安BSC链上发币【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——一键发币并添加流动性平台工厂合约源码部署全流程【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通过standard json input方式开源合约【pdf+视频BSC发币教程下载】
- 波场、币安、火币发币合约开源代码教程【PDF+视频发币教程】附合约源代码
- 币安智能链一键发币工具【BSC-TokenDIY】
- 如何利用 Uni V4 的限价单功能实现下一代「On-Chain Binance」
- Coinbase base链发币教程——base链上部署合约实现持币分红+lp分红ETH+营销钱包回流ETH功能上线baseswap交易所【pdf+视频BASE发币教程下载】
- 币安智能链BSC发币教程——添加流动性分红本币到添加流动性的用户钱包地址,排除锁仓钱包,燃烧通缩、四代推广收益合约源代码及部署【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——万能分红任何币种+自动筑池+营销钱包+销毁燃烧+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——添加流动性分红USDT+燃烧通缩合约代码实现【pdf+视频币安链BSC发币教程下载】
- 币安BSC火币HECO波场TRX通缩燃烧持币分红模式的合约代码
- 波场TRX链发币教程——上线sunswap后永久锁仓资金池【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——metamask钱包使用【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——营销钱包回流usdt+自动加池usdt+lp分红本币/usdt/任意币种合约部署全流程【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通缩燃烧+基金会地址回流+LP加池分红+持币分红+三代推广收益合约代码实现【pdf+视频BSC发币教程下载】
- 波场链TRX+sunswap交易所发币教程——TRX区块链浏览器上直接部署合约【pdf+视频TRX发币教程下载】
- Arbitrum链发币教程——获取寿司SushiSwap资金池地址和LP地址【pdf+视频Arbitrum发币教程下载】
- 币安BSC智能链发币教程——自动添加流动性营销和开发者钱包分红BNB,持币分红fist的合约代码实现【pdf+视频BSC发币教程下载】
- 波场TRX链发币教程——转换TRX地址到EVM地址【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——持币分红合约代码【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——时间锁合约部署及使用解析【pdf+视频BSC发币教程下载】
- Arbitrum链发币教程——通过跨链桥实现代币的跨链【pdf+视频Arbitrum发币教程下载】
- 欧易OKC链发币教程——加池分红USDT+营销钱包回流OKT+自动添加流动性回流底池模式的合约部署【pdf+视频OKC发币教程下载】
- 币安BSC智能链发币教程——手动燃烧功能合约代码【pdf+视频BSC发币教程下载】
- 波场justswap币安pancakeswap火币mdex发币教程——波场添加sunswap v1版本失败的解决方法
- 币安BSC智能链发币教程——自动添加流动性营销和开发者钱包分红BNB,持币分红fist的合约代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——无限增发功能合约代码实现【pdf+视频BSC发币教程下载】
- Arbitrum链发币教程——Arbitrum(ARB)链上持币分红Arb合约代码部署及配置操作流程【pdf+视频Arbitrum发币教程下载】
- 币安BSC智能链发币教程——添加流动性分红本币,强制复投获取LP分红合约开发部署及配置全流程【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——区分买入和撤销流动性,卖出和添加流动性的代码实现【pdf+视频BSC发币教程下载】
- Arbitrum链发币教程——Arbitrum(ARB)链上加池分红ARB(LP分红)(流动性分红)合约代码部署及配置操作流程【pdf+视频Arbitrum发币教程下载】
- 波场justswap币安pancakeswap火币mdex发币教程——tronide部署合约后一直卡住不动的处理方法
- 币安BSC智能链发币教程——pancakeswap薄饼添加流动性后实现锁仓固定时间【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约中增加定时开放交易功能的代码实现【pdf+视频BSC发币教程下载】
- Arbitrum链发币教程——Arbitrum(ARB)链上签名验签功能合约代码实现【pdf+视频Arbitrum发币教程下载】
- 币安智能链BSC发币教程——加池分红本币到所有LP加池用户钱包地址合约【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——metamask+remix发行标准币合约代码解析部署全流程操作(一)【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——metamask+remix发行标准币合约代码解析部署全流程操作(二)【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——上线薄饼添加流动流动性时报错:流动性不足【pdf+视频币安链BSC发币教程下载】
- 波场TRX链发币教程——TRX区块链浏览器上直接部署合约【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——时间锁合约部署及使用解析【pdf+视频BSC发币教程下载】
- 币安BSC,波场TRX,火币HECO链上的主流币兑换方法
- 币安BSC智能链发币教程——实时查询流动性LP占比,用户添加流动性的份额统计【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——代币被越权增发总量增加一倍,资金池被掏空合约漏洞攻击案例分析及漏洞修复方案【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——代币被越权增发总量增加一倍,资金池被掏空合约漏洞攻击案例分析及漏洞修复方案【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——解决合约开源时无法获取构造函数输入参数的ABI码问题【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——加池分红USDT到用户钱包地址,回流USDT到营销钱包,自动回流底池、买卖不同手续费合约编译部署【pdf+视频币安链BSC发币教程下载】
- 波场链发币教程——开发源代码验证合约代码【pdf+视频】
- 币安BSC智能链发币教程——增加合约代码部署时必须完成的初始化功能【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——持币分红复利模式原地增发无痕迹24小时1%,买卖不同营销钱包,燃烧通缩,自动添加USDT流动性回流底池合约源代码开源流程【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——通过数组传递多个参数到构造函数的方式【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——lp分红usdt,限制撤销流动性,禁止lp在不同钱包之间转移的合约实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通过数组传递多个参数到构造函数的方式【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——metamask+remix发行标准币合约代码解析部署全流程操作(一)【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——加池分红任意币种+营销钱包分红+回流底池合约部署开源及参数配置详细操作流程【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——增加合约代码部署时必须完成的初始化功能【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——分红任意代币到持币钱包地址的合约代码实现【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——合约中引入黑名单功能及执行(解除)拉黑操作【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——bsc链上批量转账工具及操作流程详细使用教程【pdf+视频BSC发币教程下载】
- 波场、币安、火币发币合约开源代码教程【PDF+视频】附合约代码
- 波场链发币后在tp钱包余额显示异常,不显示小数点后面的数值
- 币安智能链BSC发币教程——metamask+remix发行标准币合约代码解析部署全流程操作(二)【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——开源合约代码验证完全匹配【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约中添加批量转账功能的合约代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——限制添加流动性后在不同钱包之间转移LP,撤销流动性的完整合约代码【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——万能分红任何币种合约源代码解析【pdf+视频BSC发币教程下载】
- 波场、币安、火币发币后无法在tp钱包显示解决方法
- 波场TRX链发币教程——sunswap v1和v2版本的区别,添加资金池异常【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——获取薄饼PancakeSwap资金池地址【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——添加流动性分红本币到添加者钱包模式【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——区块链浏览器上执行合约【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——持币分红合约代码【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——根据用户添加流动性获取LP的实际情况同步映射到合约中对应用户lp情况【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——解决合约开源时无法获取构造函数输入参数的ABI码问题【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——加池分红任意币种+营销钱包分红+回流底池合约在bsc区块链浏览器开源详细操作流程【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——添加完流动性后在合约中锁定LP线性释放的合约源代码实现【pdf+视频BSC发币教程下载】
- pancakeswap薄饼上添加流动性时同时实现BNB和USDT的交易
- 币安BSC智能链发币教程——限制添加流动性大于指定值才能获得加池分红usdt【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——带黑白名单功能的合约代码【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——remix+metamask实现币安BSC链上发币【pdf+视频BSC发币教程下载】
- 欧易OKC链发币教程——remix+metamask实现欧易OKC链上发币【pdf+视频OKC发币教程下载】
- 币安BSC智能链发币教程——bsc链上批量转账工具及操作流程详细使用教程【pdf+视频BSC发币教程下载】
- Arbitrum链发币教程——arbitrum是什么,相比其他layer2解决方案有哪些优势,当前还存在哪些问题【pdf+视频Arbitrum发币教程下载】
- 私钥碰撞器(找回钱包丢失私钥)支持所有ERC20标准协议——支持BSC、OKC、HECO、ETH公链私钥碰撞工具下载
- 币安BSC智能链发币教程——合约中添加批量转账功能的合约代码实现【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——控制交易流向(貔貅)合约代码部署【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——通缩燃烧加池分红基金会地址回流合约代码【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——分红USDT到指定钱包地址或者添加流动性的用户钱包地址【pdf+视频BSC发币教程下载】
- Arbitrum链发币教程——从ETH迁移到Arbitrum链的应用场景及目前的头部应用【pdf+视频Arbitrum发币教程下载】
- 波场链TRC20通缩、燃烧、分红、回流代币发行教程与合约代码
- 币安BSC智能链发币教程——分红任意代币到持币钱包地址的合约代码实现【pdf+视频BSC发币教程下载】
- ETH链私钥碰撞器(找回钱包丢失私钥)支持windows和linux版本操作系统——ETH公链私钥碰撞工具下载无需API
- 币安BSC智能链发币教程——通过standard json input方式开源合约【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——metamask+remix发币配置连接BSC主网【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链合约开发教程——合约中增加对指定钱包地址单独设置交易手续费【pdf+视频BSC合约开发教程下载】
- 欧易OKC链发币教程——配置metamask钱包连接欧易OKC主网和测试网【pdf+视频OKC发币教程下载】
- 币安BSC智能链发币教程——批量创建钱包地址随机私钥方式支持ETH,BSC,HECO,OKC等ERC20协议公链【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——实时查询流动性LP占比,用户添加流动性的份额统计【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——metamask+remix发币配置连接BSC测试网【pdf+视频币安链BSC发币教程下载】
- Arbitrum链发币教程——应用从ETH迁移至Arbitrum网络的操作流程【pdf+视频Arbitrum发币教程下载】
- 币安智能链一键发币工具【BSC-TokenDIY】
- 币安BSC智能链合约开发教程——自动回流底池+营销钱包回流ETH+裂变空投+隐藏增发+找回合约所有权合约源代码部署【pdf+视频BSC合约开发教程下载】
- 币安BSC智能链发币教程——挖矿模式合约代码实现【pdf+视频BSC发币教程下载】
- Arbitrum链发币教程——Arbitrum链上部署智能合约实现在sushiswap上加池分红usdt模型【pdf+视频Arbitrum发币教程下载】
- 币安智能链BSC发币教程——加池分红usdt和持币分红usdt的派发器代码区别【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——复利模式下开盘前20分钟手续费每5分钟递减2%代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——分红USDT到指定钱包地址或者添加流动性的用户钱包地址【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——代币锁定后定量或者百分比定期下发线性释放到指定钱包地址合约部署操作流程【pdf+视频币安链BSC发币教程下载】
- 合约开发中不用空投,直接在合约中给所有钱包地址默认数量的代币
- 币安智能链BSC发币教程——上线薄饼添加流动流动性时报错:流动性不足【pdf+视频币安链BSC发币教程下载】
- Arbitrum链发币教程——Arbitrum链上开发质押挖矿dapp核心合约代码及经济模型【pdf+视频Arbitrum发币教程下载】
- 币安BSC智能链发币教程——pancakeswap薄饼添加流动性后实现永久锁仓【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——复利模式下双向绑定推荐关系根据价格波动灵活设置手续费代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——transferFrom配合approve和直接transfer两种方式实现代币的批量转账功能【pdf+视频BSC发币教程下载】
- Arbitrum链发币教程——Arbitrum链上持币分红usdt合约部署流程及合约代码实现【pdf+视频Arbitrum发币教程下载】
- 合约中增加直接买入卖出添加和撤销流动性的功能,避免在dex直接操作,可以绕开50%的最大滑点限制
- 币安BSC智能链发币教程——uniswap,pancakeswap,sunswap等主流的dex获取当前代币实时价格接口方法【pdf+视频BSC发币教程下载】
- 波场TRX链发币教程——代币合约中优化批量转账功能降低空投时的gas费用消耗【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——metamask钱包使用【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——持币分红复利模式原地增发无痕迹24小时1%,买卖不同营销钱包,燃烧通缩,自动添加USDT流动性回流底池合约源代码开源流程【pdf+视频币安链BSC发币教程下载】
- 以太坊ETH链发币教程——直接在合约中创建基于uniswap V2的交易对实现自动筑底池和LP分红ETH/Usdt功能【pdf+视频ETH发币教程下载】
- 币安BSC智能链发币教程——万能分红任何币种合约源代码解析【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通过对标代币余额来区分买入和撤销流动性,卖出和添加流动性的区别,进而设置不同的交易手续费【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——remix+metamask实现币安智能链BSC上发币【pdf+视频币安链BSC发币教程下载】
- 薄饼PancakeSwap定制化开发搭建部署教程——uniswap,pancakeswap去中心化DEX定制开发部署max code size exceeded报错处理【pdf+视频PancakeSwap,Uniswap部署教程下载】
- 火币HECO智能链发币教程——上线mdex交易所【pdf+视频HECO发币教程下载】
- 币安BSC智能链发币教程——合约中增加批量转账功能【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通过合约方式实现USDT批量归集合约部署配置及接口调用【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通缩燃烧加池分红基金会地址回流合约代码【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——修改自动加池模式中所得LP的属主【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通过自建工具合约完成代币的空投【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——开源合约代码验证完全匹配【pdf+视频BSC发币教程下载】
- Arbitrum链发币教程——remix+metamask实现Arbitrum链上发币【pdf+视频Arbitrum发币教程下载】
- 币安BSC智能链发币教程——合约中增加合约所有权找回功能【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——合约中增加定时开放交易功能的代码实现【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——LP加池分红USDT营销钱包燃烧回流底池买卖不同交易手续费的合约代码实现【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——持币生息分红复利模式NFT节点自由基金共识基金十代推广收益LP分红合约部署及代码分析【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——上线PancakeSwap薄饼交易所【pdf+视频BSC发币教程下载】
- 如何创建一个 ZK 智能合约
- 币安BSC智能链发币教程——区分买入和撤销流动性,卖出和添加流动性的代码实现【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——燃烧通缩营销钱包持币分红三代推广收益合约部署全流程【pdf+视频币安链BSC发币教程下载】
- Arbitrum链发币教程——代币上线uniswap交易所配置操作流程【pdf+视频Arbitrum发币教程下载】
- 币安BSC智能链发币教程——燃烧通缩营销钱包持币分红三代推广收益合约部署全流程【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——LP加池分红USDT营销钱包燃烧回流底池买卖不同交易手续费的合约代码实现【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——metamask+remix发币配置连接BSC主网【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——获取薄饼PancakeSwap资金池地址【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——质押挖矿,质押母币挖矿子币模式【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通缩燃烧+基金会地址回流+LP加池分红+持币分红+三代推广收益合约代码实现【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——metamask+remix发币配置连接BSC测试网【pdf+视频币安链BSC发币教程下载】
- 波场trx公链上发行数字代币,上线justswap交易教程
- 币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】
- Arbitrum链发币教程——安装metamask钱包【pdf+视频Arbitrum发币教程下载】
- 币安BSC智能链发币教程——区块链浏览器上执行合约【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——持币生息分红复利模式NFT节点自由基金共识基金十代推广收益LP分红合约部署及代码分析【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——燃烧通缩营销钱包持币分红三代推广收益合约部署全流程【pdf+视频币安链BSC发币教程下载】
- TRX上发币教程(玩转JustSwap,JustSwap小白发币教程)
- 币安智能链BSC发币教程——LP加池分红USDT营销钱包燃烧回流底池买卖不同交易手续费的合约代码实现【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——扫描挖矿+NFT循环扫描分红本币+lp质押挖矿产出新币的合约代码实现【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——加池分红USDT到用户钱包地址,回流USDT到营销钱包,自动回流底池、买卖不同手续费合约编译部署【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——充提币接口合约原理及使用说明【pdf+视频BSC发币教程下载】
- BRC20,ORC20,SRC20代币部署deploy铸造mint及挂单unisat market交易操作流程
- justSwap开盘咯,你也想发个币去当庄家?手把手教你怎么用TRC20标准在tron发币
- 获取LayerZero代币空投资格操作指南
- Solana SOL链发币教程——命令行方式部署SPL合约,发行代币【pdf+视频SOL发币教程下载】
- 币安智能链BSC发币教程——持币分红复利模式原地增发无痕迹24小时1%,买卖不同营销钱包,燃烧通缩,自动添加USDT流动性回流底池【pdf+视频币安链BSC发币教程下载】
- 波场justswap币安pancakeswap火币mdex发币教程——波场地址转换为以太坊地址
- 币安BSC智能链发币教程——万能分红任何币种+自动筑池+营销钱包+销毁燃烧+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】
- Solana SOL链发币教程——代币数量最大限制与精度之间的平衡策略【pdf+视频SOL发币教程下载】
- 币安BSC智能链发币教程——挖矿模式合约代码实现【pdf+视频BSC发币教程下载】
- BRC20,ORC20,SRC20代币铭文部署deployunisat钱包操作流程
- 一键发币有哪些漏洞以及如何规避
- 币安BSC智能链发币教程——修改自动加池模式中所得LP的属主【pdf+视频BSC发币教程下载】
- TRX上发币教程(JustSwap怎么玩?JustSwap交易所新手使用教程)
- Coinbase base链发币教程——base链上实现在随机钱包地址批量空投功能代码实现【pdf+视频BASE发币教程下载】
- 币安BSC智能链发币教程——合约中增加批量转账功能【pdf+视频BSC发币教程下载】
- 币安BSC火币HECO波场TRX通缩燃烧持币分红模式的合约代码
- 币安BSC智能链发币教程——pancakeswap新版本添加流动性及v2和v3版本的区别【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——添加流动性分红本币到添加者钱包模式【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约中增加批量杀机器人防夹子软件防抢开盘bots功能【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——质押挖矿,质押母币挖矿子币模式【pdf+视频BSC发币教程下载】
- solidity中代理合约代码实现,通过代理合约避免合约功能修改需要重新部署合约的问题
- 币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——动态推广收益八代推广收益级带收益空投锁定上下级【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约实现自动加池(自动筑池)功能【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——控制交易流向(貔貅)合约代码部署【pdf+视频币安链BSC发币教程下载】
- Coinbase base链发币教程——base链是什么,相对其他layer2的优势有哪些【pdf+视频BASE发币教程下载】
- 币安智能链BSC发币教程——加池分红usdt和持币分红usdt的派发器代码区别【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——合约实现自动加池(自动筑池)功能【pdf+视频BSC发币教程下载】
- 币安智能链BSC发币教程——加池分红任意币种+营销钱包分红+回流底池合约在bsc区块链浏览器开源详细操作流程【pdf+视频币安链BSC发币教程下载】
- 币安智能链BSC发币教程——加池分红任意币种+营销钱包分红+回流底池合约部署开源及参数配置详细操作流程【pdf+视频币安链BSC发币教程下载】
- 币安BSC智能链发币教程——动态推广收益八代推广收益级带收益空投锁定上下级【pdf+视频BSC发币教程下载】
- 我的微信
- 这是我的微信扫一扫
-
- 我的电报
- 这是我的电报扫一扫
-