最近在学习区块链技术,无意间发现一个非常好的入门项目,可以让你不花钱一分钱体验 web 3 的流行技术,智能合约啊,nft啊,代币啊,完成之后你还会有一大笔自己发型的代币(虽然没啥用,但是看着爽啊),一点点 MATIC 代币和几个 NFT,跟我一起来学习吧。
首先打开这个网站 https://fweb3.xyz/,你会看到一个宝箱,上面有 9 个点点,代表了你的进度,每完成一个任务就会亮一个点,当 8 个点(第三个任务无法完成)都点亮之后,你就会得到终极奖励,一个奖杯的 NFT
这个网站分 9 个任务,
- 连接钱包
- 用水龙头 (faucet) 获取 FWEB3 代币
- 用水龙头 (faucet) 获取 MATIC 代币(无法自动完成,项目方下线了 MATIC 水龙头,需要去 discord 发消息)
- 发送代币(转账)
- mint 一个 nft
- 燃烧代币
- 把 FWEB3 代币兑换成 MATIC 代币
- 投票给一个提案
- 创建你自己的 ERC-20 代币
开始之前
需要注意
1.网站宝箱上第三个点无法点亮
2.需要切换到 Polygon network,最简单的方法就是访问 https://polygonscan.com/,然后点击页面右下角的 Add Polygon Network
任务1 连接钱包
连接你的小狐狸 metamask 钱包,如果没有 metamask 钱包,先去浏览器 扩展商店 下一个,然后生成一个钱包。
点击页面上的 Connect Your Wallet,会自动弹出 metamask 的钱包页面,然后选择你的账户,然后下一步就行了
连接钱包之后,就能宝箱上的第一个点应该就亮了,我们继续第二个任务
任务 2 & 3: 获取 FWEB 3 代币和 MATIC 代币
小知识:FWEB3 代币是 这个网站发行的代币,而 MATIC 代币是由 Polygon 发行的代币,在 Polygon 网络进行交易时需要使用 MATIC 代币作为交易费,所以把 FWEB3 代币通过 Polygon 网络发送给别人,或者 mint NFT 或者部署智能合约都需要花费 MATIC 代币
需要给你的钱包添加 FWEB3 代币,点击浏览器 metamask 图标,在下面找到 导入代币
然后在代币合约地址填入 0x4a14ac36667b574b08443a15093e417db909d7a3
,他会自动找到代币符号 FWEB3,然后点击导入代币。
目前 FWEB 3 的水龙头已经关闭,需要去他们的 discord 频道 的 #support
频道获取 222 个 FWEB3 代币,然后还需要获取一定量的 MATIC 代币用来支付 Polygon 网络的交易费,MATIC 也可以通过以下渠道获取
当你的钱包里有 FWEB3 代币和 MATIC 代币后,任务 2 会自动点亮,任务 3 无法完成,跳过
任务 4:给别人发送代币
给任意一个人的钱包发送 100 个 FWEB3 代币即可完成(记住账户要至少留 120 个代币,不要全都发送完,发送 100 个就行),你也可以给你自己的另外一个账户发送代币,打开你的 metamask 钱包,在资产里点击 FWEB3,然后点击 发送,填入发送人的地址,如果实在不知道填谁的可以填我的 0xF106Db0D2aB9b6725477207FdC267f9239252B00
交易发送之后会提交到 Polygon 网络等待打包上链,关于 gas 费的设置你可以看看我这篇 以太坊交易一直 pending 该怎么办 – 记录一下买 ENS 遇到的坑
交易成功之后,任务 4 完成
任务 5: mint 一个 NFT
小知识:NFT
非同质化代币(英语:Non-Fungible Token,简称:NFT),是一种被称为区块链数字账本上的数据单位,每个代币可以代表一个独特的数字资料,作为虚拟商品所有权的电子认证或证书。由于其不能互换的特行,非同质化代币可以代表数字资产,如画作、艺术品、声音、视频、游戏中的项目或其他形式的创意作品。虽然作品本身是可以无限复制的,但这些代表它们的代币在其底层区块链上能被完整追踪,故能为买家提供所有权证明。 诸如以太币、比特币等加密货币都有自己的代币标准以定义对NFT的使用。
访问这个 智能合约 ,点击 Connect to Web3 连接你的钱包,
连接钱包之后,滚动页面到 2. mint 这一步,输入一个你想要的数字,任意长度,然后点击 Write,会弹出 metamask 页面生成一笔新的交易,这里注意交易费,如果超过 0.8 MATC,证明你所选的数字可能已经被别人选了,拒绝交易然后换个数字重新点 Write。等待交易完成,然后等会你就能从 opensea 上看到你的第一个 nft 啦,opensea 也需要连接你的钱包,回忆一下你在第一个任务里是怎么做的吧。
任务 6: 烧钱(燃烧代币)
啥?烧钱?钱多了没处花吗?对对,就是这个意思,燃烧代币的意思是把代币发给一个不存在的地址,让它从流通中消失,为什么要这么做呢?可能有很多种可能,也可能真的是有钱没处花,也可能是为了提高代币的价值,本来市场上某个代币一个 1 块钱,发行量 100 个代币,那么总市值 100 块,如果烧掉 50 个,那就还剩 50 个,如果市值不变,那么剩下的每个代币就值 2 块钱啦。
这一步的任务是烧掉一个 FWEB3 代币,其实和任务 4是一样的,只不过这一次是要把代币发送给 0x000000000000000000000000000000000000dead
这个地址,那这个代币就从地球上消失啦,而你的钱包也多了一笔烧钱的交易,哎有钱就是这么任性,你已经知道要怎么做了吧,燃烧 1 个代币就好,剩下的可以留下换 MATIC。
任务 7: 换代币
小知识:Uniswap 是一种用于交换加密货币的分散金融协议。Uniswap 也是最初构建 Uniswap 协议的公司的名称。该协议通过使用智能合约促进以太坊区块链上的加密货币令牌之间的自动化交易。
换代币,就和换钱一样,你把手中的毛爷爷换成绿色的美钞,而这里是把你手中的 FWEB3 代币换成 MATIC 代币,然后你就真的有几毛钱的代币啦!这次需要借助一个叫做 UNISWAP 的网站,这个网站是专门做代币兑换交易的,从中收取手续费赚钱,和传统的换外汇银行一样,只不过中间商换成了部署在以太坊上的智能合约。
1.打开 Uniswap 网站,点击第一行的 MATIC,点击选择代币,
然后点击 管理代币列表
点击 代币,导入 FWEB3 的合约地址,0x4a14ac36667b574b08443a15093e417db909d7a3
它会自动找到代币符号,点击 导入
会弹出警告,无视它,因为我们是要拿 FWEB3 换别的代币,继续选择导入
接着输入金额,不要超过 20 个,因为你至少要留100 个代币进行后面的任务。在第二行的代币里选择 MATIC,会自动弹出换算价格,然后连接你的钱包,它会生成一笔交易,然后确认就行。
然后等待交易确认,然后你的钱包里就会多一点点 MATIC,这样你就能做更多的交易啦。
任务8:行使你的投票权
这个任务代表了 web3 世界里的 DAO 的概念。
小知识:DAO是「去中心自治组织(Decentralized Autonomous Organization)」的缩写,可解释为开放式创投基金,由「以太坊(Ethereum)」区块链技术搭建,將投资使用区块链技术的共享经济项目。和其它组织最大的不同,在於DAO並非由人力管理运作,而是从组织治理、日常运作到付款等组织运营,都由智能合约自动完成,因此也像是大型综合智能合约
就像持有公司股票可以对公司决策进行投票一样,持有某个 DAO 的代币可以对该组织进行投票,只不过这个任务里投 Yes 还是 No 都没有影响,只是让你体验一下持股(币)人投票的赶紧而已。
打开这个 投票智能合约,和任务 5 一样,先要连接钱包,然后随你喜好选择 Yes 或 No,然后会生成一笔新的交易,发送交易然后等待交易确认。如果有时候交易费太高,可以选择调整交易费,然后提交一笔交易,可能需要等很久才能确认,但是省钱啊,不过要注意的一点是千万不要重复提交交易,同一笔交易提交一次就行,不然后面你还要花钱取消交易,不然交易会一直搁置,而且后续新生成的交易都会等待一直到前面的交易都确认了才能执行,别问我怎么知道这些的,说多了都是泪。等交易确认,这个任务就完成了。
任务 9:发行你自己的代币
啥?要自己发币了,那我先给自己发个 100 万,哇,其实我也是这么想的,这不我真的给自己发了 100 万 ZKWZK 代币,不过一毛钱价值没有,但是看得爽啊,来吧你也来吧。会不会很难啊,不不不,一点都不难,5 分钟的事,不骗人。
第一分钟:打开 remix 网站,在 contract 文件夹下添加一个 token.sol 文件
第二分钟:粘贴这段代码,把里面的 [代币描述]
和 [代币符号]
换成你想要的值,最好全是英文,代币符号最好大写。
// contracts/token.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract Token is ERC20 { uint constant _initial_supply = 1000000 * (10 ** 18); constructor() ERC20("[代币描述]", "[代币符号]") { _mint(msg.sender, _initial_supply); } }
第三分钟:点击旁边第二个图标 Solidity Compiler,点击 Compile token.sol,如果没有错误会显示一个绿勾勾
第四分钟:部署,选择第三个小图标 Deploy and run transactions, 然后 ENVIRONMENT 选 Injected Web3, ACCOUNT 会自动切换成你的钱包地址,CONTRACT 选你刚才创建的 Token – contracts/token.sol,点 deploy,会生成一笔新的交易,然后提交等待交易成功,如果成功,说明你的代币创建好了,你还需要导入你的代币,
第五分钟,找到你的合约地址,打开你的 metamask 钱包,找到一笔 合约部署 的交易,点进去选择 在区块浏览器上查看
会打开区块浏览器网站,这个网站以后如果你跟区块链打交道会经常看到,找到你创建的合约地址
还记得在任务 2 里面我们是怎么导入 FWEB3 代币的吗,现在以同样的方法导入你自己的代币,哇,100w 哦,快去给你的小伙伴炫耀吧。大功告成!
隐藏任务:获取奖杯
嗯?不是只有 9 个任务,怎么还有隐藏任务?因为这才是终极大奖,奖杯 NFT,还有额外 1000 FWEB3,可以拿去换 MATIC 啦。
首先到这个 智能合约,连接你的钱包,在页面上找到第 4 步 seek verification,然后点击 Write,会生成一笔交易,注意交易费如果大于 0.8 MATIC,说明之前还有任务没完成(任务 3除外),然后可以看到在 discord #finish-line
频道会有机器人生成一个消息,类似
Player is seeking verification, but has NOT completed: https://fweb3.xyz/?wallet=0x5F4d26241B53c9bdc3F8C1D4DCe6d7E96f7EE7eD
然后等待管理员手动确认,如果确认之后,这条消息下面会有一个小绿勾,就可以继续下面的操作啦
找到第 7 步 win,发送一笔交易到合约地址,只需要付 gas 费
然后在这个合约地址 ,点 mint,如果你已经完成了前面 8 个任务,mint 完之后你就会收到 1000 个 FWEB3 和 1 个 奖杯 nft 啦,你的 discord 频道也会有一点点变化。
大功告成!怎么样,是不是很有成就感,快去 opensea 看看你的奖杯吧!