手把手教你 task3 合约的交互流程 #931
zhangloveyan
started this conversation in
Materials
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
账户准备、作用
账户一:部署 token(SH)、nft(SHT)、market 合约
0x428E78b1642fa63e160a8af5DF3934001BA14a18
账户二:mint nft、上架 nft
0xfea59810Bd1d21a5b9Ed056aaf10871aF825b673
账户三:购买 nft
0x28E205Aff9D194979A7D8684aF21545F454a1470
测试网查询哈希地址:https://sepolia.etherscan.io/tx/{哈希}
交互步骤:
1.账户一部署合约:
选择账户一,选择合约,部署。部署完一个切换另一个,部署完成后,记录合约地址,后面要用。
token 合约地址:
0x1d1c1f1217e9ac91aa3c72bc4eb458f39baae957
nft 合约地址:
0x5c7122ded287d82cdc35b0d5da44bcf7ce8455c7
market 合约地址:
0x2fae6c0cbe090aad62fa8e48ee2de06d0c924f33
2.账户二 mint NFT
切换到账户二
选择 NFT 合约,选择 mint 方法,填入账户二地址,点击 transact ,等待弹出钱包,点击确定。
等待出块完成,这时你的账户二就可以查到这个 NFT 了。
也可通过 ownerOf 方法查询
3.账户二 授权 market 转移 NFT
market 要有操作 NFT 的权限,才可以转移(卖)你的 NFT ,切记主网要这个权限的,不要乱给。
仍是账户二,选择 NFT 合约,选择 setApprovalForAll 方法,operator 填写 market 合约地址,如下:
4.账户二 上架 NFT
仍是账户二,选择 market 合约,选择 listNFT 方法,填入 nft 合约地址、tokenId、价格。
含义:二号 NFT 价格 2 SH 代币。
完成后的哈希值,就是作业需要提交的 上架 NFT 的哈希。
5.账户一通过 token 合约给账户三转 SH 代币
账户三暂时没钱,所以无法购买 NFT ,那么就需要账户一(token 合约拥有者)转账 SH 代币给账户三,用来购买 NFT。
切换到账户一,选择 token 合约,transfer 方法,填写账户三地址,转账金额。
转账完成后账户三就有 SHH 代币买 NFT 了。
6.账户三授权 market 使用代币
和转移 NFT 类似,market 也要有权限转移(买)资金,完成后续操作。
切换至账户三,选择 token 合约,approve 方法,填入 market 地址、使用数量。
含义:授权 market 合约允许最大使用上限 5 个 SH 代币
7.购买 NFT
仍是账户三,选择 market 合约,选择 buyNFT 方法。
输入 NFT 合约地址,要购买的 tokenId。
完成后的哈希值,就是作业需要提交的 购买 NFT 的哈希。
提交作业,搞定。
Beta Was this translation helpful? Give feedback.
All reactions