MetaMask 的开发商 ConsenSys 前几天(3.28日)宣布了其以太坊 Layer2 网路 ConsenSys zkEVM 更名为 Linea。
去年 12 月 ConsenSys zkEVM 就推出过私人测试网,该测试网只运行了三个月,刚开测的前几周内就达到了 150 万笔交易。虽然目前并不知道 Linea 有没有什么空投,但对于撸毛党来说,提前参与一下肯定是没错的。
Linea 是一个新的 zk-rollup 网络,提供了完整的以太坊虚拟机 (EVM) 兼容性。借助 Linea,开发人员可以像在主网上一样构建复制的以太坊环境,比如使用熟悉的工具 (MetaMask, Truffle 和 Infura等) 部署和管理DApp,而且同时还能够体验到以太坊相同的安全保证。
Linea 背后有微软和软银等各大机构的投资,共融资7.25亿 。
话不多说 , 开始教程! 我个人不喜欢看太多截图的教程,所以基本操作只有一些简单的文字。
*点击蓝色字体转跳网站 。
1.首先就是先设置好钱包 , 到 Chainlist ,Connet Wallet 然后勾选 Include Testnet, 搜 Linea →Add to Metamask 就行了。然后到 Goerli Faucet 领取 Goerli 测试币。
2. 开始交互! 到 HOP EXCHANGE 连接钱包 (GOERLI网络) , 把 GETH 跨链到 LINEA 。链接转跳过去是设置好的流程,直接跨链就行了。 据说 HOP 查女巫很严格 ?大家交互钱包记得隔离好。 (上面还有一个FAUCET功能,可以自己MINT USDC去"Send"将铸造好的 USDC 和 HOP跨链到 LINEA 测试网中当作跨链交互的一部分)
3. SWAP 。 进入 UNISWAP V3 FORK (这个是Linea自己的V3页面), 这里钱包网络需要 切换至Linea Testnet,通过Swap 用 ETH 买入任意代币 。这crUSDC太多0了,有强迫症的小伙伴可以用我部署的这个token交互。
合约:0x4d0A24167BD2869733AE982DEFCa420bF1b5D3dD
4. 添加流动池子。 到 上面的POOL 添加流动性。(最低兑换率填1 ,最高兑换率一千亿往上)
1. FWDX 先到 Faucet Mint ETH或BTC ,点右上角create , 交互ETH→BTC, 选择日期,CREAT. 官方推特
2. INFURA 注册一个账号。(在官方文档看到的 ,大部分人都注册不到)官方推特
3. GhostNFT 连钱包, 然后随便选一个NFT, 点disperse collection, 输入金额 再点disperse 付gas 就好了。
4. MesProtocol 一样先connet wallet, 然后右边有一个 deposit/withdraw 选ETH Vault 输入充值金额, 然后点Deposit ETH。然后就是交易, 充值ETH就先去SELL ETH, 充值 USDC 就是BUY ETH 测试网交互直接选择 Market (市价成交) 。官方推特
5. Linea上的幽灵 NFT(gNFT)到这里Mint。
6. Linea 在 op 发的 纪念 NFT ,gas 差不多2刀。
7. EchoDEX 链接钱包,SWAP,加池子che'chi'zi,mintNFT。官方推特
除了以上的这几项 , LINEA 上还有 其他 生态DAPP 可以去研究研究 但是我看了几眼可以交互的似乎也只有这几个 。有新的东西我会继续更新这个文档 ~
_________________________________________________________
这里部署合约有两套方法,一个需要自己取名,另一个默认名字。
方法1:我自己研究的操作(可取名)
打开 REMIX, 创建文档 后, 然后把 代码粘贴进去右边,然后就是编译, 发行,具体操作我粗略弄了几张图。
粘贴代码后先到Solidity Compiler, 上面选0.8.0, 我把我用的代码贴在下面,代码里有下划线的地方更改成自己想取的token名字就OK,总共3个地方需要填。
*先在右边的代码填好想取的名字,再跟着左边的流程操作。
到以太标签的这个 Deploy and run transaction,选Injected Provider-MetaMask,确保你的metamask登入在 Linea Testnet,然后点Deploy 付gas就部署好了。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract ________ {
string public name = "________";
string public symbol = "________";
uint8 public decimals = 18;
uint256 public totalSupply = 10000000000 * 10 ** uint256(decimals);
mapping(address => uint256) balances;
mapping(address => mapping(address => uint256)) allowed;
constructor() {
balances[msg.sender] = totalSupply;
}
function balanceOf(address _owner) public view returns (uint256) {
return balances[_owner];
}
function transfer(address _to, uint256 _value) public returns (bool success) {
require(balances[msg.sender] >= _value, "Insufficient balance");
balances[msg.sender] -= _value;
balances[_to] += _value;
emit Transfer(msg.sender, _to, _value);
return true;
}
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
require(_value <= balances[_from], "Insufficient balance");
require(_value <= allowed[_from][msg.sender], "Not enough allowance");
balances[_from] -= _value;
allowed[_from][msg.sender] -= _value;
balances[_to] += _value;
emit Transfer(_from, _to, _value);
return true;
}
function approve(address _spender, uint256 _value) public returns (bool success) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function allowance(address _owner, address _spender) public view returns (uint256) {
return allowed[_owner][_spender];
}
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
然后到钱包的活动里面点击 合约部署,点 在区块链游览器上查看记录,旁边有 Created 字眼的就是你部署token的合约地址,复制下来到 UNISWAP POOL 点击 +新仓位,粘贴刚刚复制的合约地址进去。
起始兑换率我是这样设置的 ↓↓↓↓↓↓↓↓
然后就是授权你的代币 点击预览 ,然后再确认加池子就ok了 !!
方法2:到 WeTransfer 上下载代码 上传到 REMIX 编译后直接部署。
这里流程也跟前面一样 到链上找自己的合约地址 去加池子 。
最后就是在交互中遇到BUG什么的或者想提意见可以去填反馈表 。
总结,本文主要介绍了什么是 Linea(ConsenSys zkEVM)、以及 Linea 测试网的一些交互和部署操作教程。希望今天的分享能够对大家有所帮助。
看不懂教程的可以到 我的推特 提问 ~~~~~