Nutbox 教程 | Nutbox v2公测教程 | Nutbox v2公测开启
1 comment
Nutbox是一个DAO创建平台,借助于Nutbox提供的Staking-based bootstrap协议、Extensions和Governance,社区可以像在Uniswap上创建交易对一样轻松创建DAO,并引导DAO启动。
Nutboxt:https://Nutbox.nutbox.app/
Nutbox平台代币:NUT(BEP20(BSC))
NUT合约地址:0x4429FcdD4eC4EA4756B493e9c0525cBe747c2745
Nutbox主网自2022年2月21日上线至今,同12个SP代理平台合作,创建了Nutbox社区(SP质押社区),随后在3月13日,Nutbox v2网络Peanut也通过Nutbox开启了BSC阶段。
随着时间的推移,Nutbox也在逐步优化自身产品,以及接入一些优秀的Pos链,其中Cosmos生态是本次优化的重点之一。除此之外,Nutbox本次优化升级也增加了【NUT Power】,那么什么是【NUT Power】呢,如下:
NUT Power
简称【NP】,是通过锁仓NUT而来,可以与NUT互相兑换。NP不可转账,不可交易,权重表现,无价格。(类似于STEEM和SP的关系)
社区的每一个质押矿池都可以创建一个【NUT Power】,用户质押NP可以获得社区资产(cToken)和NUT。
创建之后质押矿池10%的cToken直接进入NUT Power矿池,NUT由合约直接分发,分发标准是:
每个区块分发NUT的数量 ✖ 单个用户质押的NP / 所有社区的NUT Power矿池NP的比例。
关于在Nutbox Nutbox创建社区的NUT激励,也将由NP决定:
单个社区所激励的NUT=该社区所有NUT Power矿池质押的NP / 所有社区NUT power矿池中的NP比例 ✖ 该区块总共发放NUT激励数量。
本次Nutbox v2测试网开启了对外公测,公测相关信息如下:
Nutbox v2测试网:https://test.nutbox.io/
Nutbox v2公测时间:2022年03月18日-2022年04月1日
Nutbox v2公测奖励:参与本次公测的用户,在参与过程中需要发现Bug,并提交Bug至【Github】,Nutbox技术人员会根据参与Nutbox v2测试网公测用户所提交Bug是否有用,以及Bug的有用程度进行奖励的派发。
Github:https://github.com/nutbox-dao/nutbox-interface-v2/issues
注:并非所有参与Nutbox v2测试网公测的用户都会获得NUT奖励,只有在参与过程中提交有用的Bug才能获得NUT奖励。
奖励范围:100-50000NUT
本轮公测主要分为三个部分(参与Nutbox v2公测用户请根据以下内容对这三个部分进行测试),分别是:
创建社区
Cosmos ISO
创建Cosmos ISO矿池
创建Cosmos ISO矿池
正常流程创建cosmos矿池,测试是否正常
填写错误的验证者地址创建矿池测试
填写错误利润分享率进行测试
创建矿池时矿池名字为空测试
创建多个矿池,使用同一个验证者节点测试(正常可以创建成功 )
管理矿池:删除矿池测试
调整矿池基金比例测试
用户操作: ISO界面矿池数据显示是否正常
链接钱包(Keplr & MetaMask)功能是否正常
增减委托功能测试
收获奖励测试
创建多个池子使用同一个验证者节点,依次操作不同的池子(正常只能代理给一个池子 )
在钱包操作委托ATOM给验证者测试(正常对应创建的池子的质押数字会清零 ),矿池对应数字为0,再次委托ATOM给验证者(正常 更新的委托值应该为总的委托给验证者该节点的值 )
已委托的矿池,分别切换bsc地址和cosmos地址再次委托(正常是会提示委托账号不匹配 )
不同的节点建的池子测试,池子间数据互不影响
以上同步测试个人界面的矿池功能
计算APR(年化利率)是否正确(cToken需要在Sushi.Swap为交易对添加流动性来获取价格)
NUT power
NUT奖励参数:
- 每区块奖励1个NUT给Gauge(矿池),其中用户80% 社区20% 开发者0%
*收获的cToken ,10% 进入对应的Gauge (矿池)
- Goerli网络为 15S/ 区块
测试:
Power up操作,尝试不同渠道不同值的Power up,该操作不限制,可以操作多次
查看NP详情页的Summary栏数据是否正常
升级操作,只可升不可降,升级后查看数据是否正常
操作Power down功能,核对powerdown页面数据是否正常
可多次Power dow,不同渠道不同数值powerdown操作
power down后查看Unlocking NP栏数据是否正常,过段时间后(比如1天),计算Unlocking NP栏的可收获数值是否正确收取NUT,过段时间后再次计算可收获数是否正确
个人页面的np汇总展示是否正常(有元饼图的那里)
创建Gauge(一个矿池对应可以创建一个Gauge,以创建了Gauge的将不能创建,体现为创建Gauge时,选择列表不包含该矿池)
创建的Gauge的APR计算是否正确
社区页面投票测试,增减NP投票,查看卡片数据是否正常,其中cToken为对应矿池有收取奖励,将分1%到该Gauge中
模拟多个用户投票同一个池子,计算各自的奖励分配是否正确
收获奖励,查看实际到账与显示数值是否一致
投票后,再次测试NUT Power相关功能,投票的NP为Locked状态
以上同步测试个人页面的NUT Power选项卡
参与Nutbox v2测试网公测的用户请根据以下教程对Nutbox v2进行测试,祝大家测试顺利。
创建社区
- 进入Nutbox测试网,然后点击社区模块【四个小方块】。
Nutbox测试网:https://test.nutbox.io/
接着点击【Community】页面的【Connect MetaMask】。
之后MetaMask钱包会跳出登录提示,输入【登录密码】,然后点击【解锁】,之后MetaMask钱包会弹出【使用MetaMask连接】提示,点击【下一步】,之后再点击【连接】,再点击【Switch network】为MetaMask添加【Goerli网络】并连接Nutbox测试网。
注:还没有MetaMask的用户可以按照以下教程安装使用
Nutbox | 区块链教程 | MetaMask钱包的安装、账户创建
Nutbox | 区块链教程 | MetaMask钱包网络相关教程总汇 | 网络添加&网络信息修改&网络切换
- 获取NUT测试币
点击Nutbox v2测试网页面左下角的【三条杠】,接着点击【Faucet NUT】,接着点击【Give me NUT】,稍等片刻便会获得NUT测试币。
打开MetaMask,点击钱包底部的【导入代币】,然后将NUT测试币合约地址粘贴到【代币合约地址】栏,接着点击【添加自定义代币】,再点击【倒入代币】,之后便可以看到所获得的NUT测试币。
- 创建社区
点击Nutbox v2测试网页面左边的【四个小方块】,再点击【+
Create Community】。
A.创建社区资产(cToken)
我们在【Register an asset】下方的Token Name栏输入【社区资产(cToken)名称】,在Token Symbol栏输入【社区资产(cToken)符号】,在Premine amount栏输入【社区资产(cToken)发行量】,之后点击【Register Token】。
B.设置社区资产分发策略
注:Nutbox采用的是比特币区块减半机制,从矿池开始出块至往后的每一年,每一个区块所对应的社区资产数量都会减半。例如第一年10 cToken/区块,第二年则是5 cToken/区块,第三年则是2.5 cToken/区块,这样的区块减半机制可以在一定程度上保证社区资产的稀缺性。
在【Setting your asset distribution】下方的【Stop block】填入【结束块高度】,在【Mint amount】填入【cToken分发数量;即,每个块所对应的cToken数量;我填入20】,然后点击【Add】。
注:Current Block height是【当前块高度】,Start block是【起始块高度】,Stop block是【结束块高度】,他们都有对应的UTC时间;
UTC换算北京时间:https://datetime360.com/cn/utc-beijing-time/
接着在按照上面的步骤,设置【起始块高度】、【结束块高度】、【cToken分发策略】,cToken的分发策略下一个时间段应该减半为10、5、2.5;设置完毕之后点击【Deploy】,之后MetaMask会弹出提示,点击【确认】。
C.完善社区信息
接着会跳转页面至【Create Community】,在【Complete info】页面我们需要设置社区基础信息,Name【社区名称-】、Offcial Link(选填)【社区官网】、Description【社区简介】、Logo【社区Logo】、C-Token Logo【社区资产Logo】、Poster【社区封面】,填写完成后点击【Commit】。
点击【Commit】后会提示【上传社区信息需要使用您的钱包签名,此操作不会花费您任何费用,请放心使用。】,直接点击【Sign and upload】。
点击【Sign and upload】后MetaMask钱包会弹出签名提示,直接点击【签名】,稍等片刻便会完成。
D.更新Asset
在Asset模块,社区资产Logo旁边的社区资产名称旁边可以复制社区资产的合约地址。
在【Dao Fund Info】下方【Fund ratio】点击【Update】更新基金比例。
点击【Update】后在【Fund ratio】输入基金比例,然后点击【Confirm】,之后MetaMask钱包会弹出提示,点击【确认】,稍等片刻便会完成基金比例的更新。
Cosmos ISO
A.正常流程创建cosmos矿池,测试是否正常
点击进入【ISO】模块,点击右上角的【+ Add Delegate Pool】
在【Choose a pool type】当中选择并点击【Cosmos Staking】
接着在【Create cosmos delegate pool】下方的【Your cosmos delegatee account】栏中输入【被委托者节点】,之后点击【Confirm】
被委托者节点:cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0
接着在【Create new pool】下方的【Pool Name】栏输入【矿池名称】,在【Profit Sharing Ratio】下方栏中输入【利润分享比100%】,然后点击【Ok】,之后MetaMask会弹出提示,点击【确认】,稍等片刻Cosmos Staking矿池便创建完成。
【Cosmos ISO,A部分测试完成】
B.填写错误的验证者地址创建矿池测试
Cosmos ISO,B部分的测试,我们需要再创建一个Cosmos矿池,不过这次我们需要使用一个错误的验证者节点进行测试。
错误的Cosmos验证者(被委托者)节点:cosmosvaloper1sjllsnramtgcw3ewxqwwrwjxfgc4n4ef9u2lcnj0
点击Comos ISO模块右上角的【+ Add Delegate Pool】
在【Choose a pool type】当中选择并点击【Cosmos Staking】
接着在【Create cosmos delegate pool】下方的【Your cosmos delegatee account】栏中输入【错误的被委托者节点】,之后点击【Confirm】
错误的Cosmos验证者(被委托者)节点:cosmosvaloper1sjllsnramtgcw3ewxqwwrwjxfgc4n4ef9u2lcnj0
当我们输入错误的验证者节点后,Cosmos ISO矿池创建页面右上角会提示【请输入正确的被委托者节点】,这是正常提示。
【Cosmos ISO,B部分测试完成】
C.填写错误利润分享比率进行测试
接下来我们需要在创建Cosmos ISO矿池的时候,填入错误的利润分享比率进行测试,如下:
点击进入【ISO】模块,点击右上角的【+ Add Delegate Pool】
在【Choose a pool type】当中选择并点击【Cosmos Staking】
接着在【Create cosmos delegate pool】下方的【Your cosmos delegatee account】栏中输入【被委托者节点】,之后点击【Confirm】
被委托者节点:cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0
接着在【Create new pool】下方的【Pool Name】栏输入【矿池名称】,在【Profit Sharing Ratio】-【ATOM mint NSO Staking】下方栏中输入【错误的利润分享比;分别为50%和10%,正确的利润分享比总和应该为100%】,然后点击【Ok】,在页面右上角会提示【利润分享比总和为100%】,这是正常提示。
【Cosmos IOS,C部分测试完成】
D.创建矿池时矿池名称为空进行测试
接下来我们在C部分的基础上,在【Create new pool】下方的【Pool Name】栏不要不要输入【矿池名称;矿池名称为空】,在【Profit Sharing Ratio】-【ATOM mint NSO Staking】下方栏中输入【错误的利润分享比;分别为50%和50%,利润分享比总和为100%】,然后点击【OK】,之后页面右上角会提示【请输入矿池名称】,这是正常提示。
【Cosmos IOS,D部分测试完成】
E.创建多个矿池,使用同一个验证者节点测试
点击进入【ISO】模块,点击右上角的【+ Add Delegate Pool】
在【Choose a pool type】当中选择并点击【Cosmos Staking】
接着在【Create cosmos delegate pool】下方的【Your cosmos delegatee account】栏中输入【被委托者节点】,之后点击【Confirm】
被委托者节点:cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0
接着在【Create new pool】下方的【Pool Name】栏输入【矿池名称】,在【Profit Sharing Ratio】下方栏中输入【利润分享比;多个矿池的利润分享比总和为100%】,然后点击【Ok】,之后MetaMask会弹出提示,点击【确认】,稍等片刻Cosmos Staking矿池便创建完成。
按照上面的步骤创建三个不同名称的矿池,利润分享比率请自行分配,总和为100%。
正常情况下使用同一个验证者节点是可以成功创建多个不同名称的矿池的,如果发现不能创建,请提交Bug至Github。
【Cosmos ISO ,E 部分测试完成】
F.管理矿池:删除矿池测试
接下来我们在E 部分的基础上,对基于同个验证者节点创建的多余矿池进行管理删除。
点击页面右上角的【Configure Delegate Pool】,之后在【Pool Configuration】将【要删除的矿池的利润分享比率设置为0,剩余矿池利润分享比率为100】,然后点击【ok】,之后MetaMask会弹出提示,点击【确认】,稍等片刻即可设置完成。
直接点击矿池中的【Close】,之后在【Attention!】下方栏中输入【矿池名称】,然后点击【Close】,之后MetaMask会弹出提示,点击【确认】,稍等片刻矿池便会成功删除。
【Cosmos ISO,F部分测试完整】
G.调整矿池基金比例测试
点击【Asset】模块,找到【Dao Fund Info】,点击【Fund ratio】右边的【Update】
接着在【Fund ratio】下方栏中输入【基金比率】,然后点击【Confirm】,之后MetaMask会弹出提示,点击【确认】,稍等片刻矿池基金比率便设置完成。
【Cosmos ISO ,G部分测试完成】
H.用户操作: ISO界面矿池数据显示是否正常
这里我们需要站在用户的角度去查看矿池数据显示是否正常。
点击页面左边的【社区Logo】,然后点击【ISO】模块,查看矿池数据显示是否正常。(一切正常)
【Cosmos ISO,H部分测试完成】
J.链接钱包(Keplr & MetaMask)功能是否正常
这一部分的操作的提示是测试的用户都在PC端浏览器安装了Keplr和MetaMask插件钱包了。
打开Keplr,点击左上角的【三条杠】,然后点击【Settings】,再点击【Manange Connections】,找到【https://test.nutbox.io/】 ,然后点击右边的【×】,再点击【Yes】,断开Nutbox v2同Keplr的连接。
打开MetaMask,点击右上角的【头像】,点击【锁定】,断开Nutbox v2同MetaMask的连接。
点击Nutbox v2页面右上角的【Connect MetaMask】,之后MataMask弹出的登录提示,输入【登录密码】,点击【解锁】,完成Nutbox v2与MetaMask钱包的连接。
进入社区的【ISO】模块,点击矿池中的【+】,之后Keplr会弹出连接提示,点击【Approve】,完成Nutbox v2同Keplr的连接。
经测试,Nutbox v2测试网与钱包的连接过程正常,没有出现错误提示。
【Cosmos ISO,J部分完成】
K.增减委托功能测试
一、增加对验证者节点的ATOM委托
接下来需要测试的部分是Cosmos ISO Staking部分比较关键的一点,我们需要委托ATOM至矿池中进行,每次操作仅需要0.001ATOM即可。
增加ATOM委托数量
进入我们所创建的社区,点击【ISO】模块,然后点击矿池中的【+】,然后在【Delegate】下方委托栏中输入【0.001】,然后点击【Confirm】。
点击【Confirm】,之后Keplr会弹出签名提示,点击【Approve】,稍等片刻后便委托成功,我们可以在Cosmos ISO矿池看到委托的数量以及挖矿收益。
二,减少对验证者节点的ATOM委托
当增加委托测试完成后,我们需要进行减少委托的测试,进入我们所创建的社区,点击【ISO】模块,然后点击矿池中的【-】,之后在【Undelegate】下方栏输入【0.001】,点击【Confirm】,之后Keplr会弹出签名提示,点击【Approve】,稍等片刻后我们会看到Cosmos ISO矿池中的委托数量已经没有了,因为我们只委托了0.001ATOM。
【Cosmos ISO ,K部分测试完成】
L.收获奖励测试
进入我们所创建的社区,点击【ISO】模块,然后点击矿池中的【Harvest】,之后MetaMask会弹出提示,点击【确认】,稍等片刻后挖矿收益收获完成。
收获Cosmos ISO挖矿收益正常,未出现任何错误提示。
【Cosmos ISO ,L测试部分完成】
M.创建多个池子使用同一个验证者节点,依次操作不同的池子(正常只能委托给一个池子 )
我们在【E测试部分】的基础上,以此对不同的矿池进行验证者节点委托ATOM,进入我们所创建的社区,点击Cosmos ISO模块,我一共创建了3个Cosmos ISO矿池。
接下来我们按照【K测试部分的增加委托】部分分别对不同的池子委托ATOM(分别委托0.001ATOM),正常只能委托给一个池子。
从第一个池子开始委托0.001ATOM,到第二池子委托0.001ATOM,正常情况下因为所委托的节点是同一个,委托的ATOM总量会汇总在第二个池子,同理,到第三个池子委托0.001的时候,委托的总量会汇总到第三个池子,一共0.003ATOM。
M部分的测试基本正常,一切都按照正常情况进行。
【Cosmos ISO,M部分测试完成】
N.在钱包操作委托ATOM给验证者测试(正常对应创建的池子的质押数字会清零 ),矿池对应数字为0,再次委托ATOM给验证者(正常更新的委托值应该为总的委托给验证者该节点的值 )
我们本次测试者使用的验证者节点是:cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0
在【M测试部分】,我们通过Nutbox对验证者节点委托了0.003ATOM,现在我们通过Keplr对该验证者节点进行委托,正常情况下,对应创建的池子质押数字会清零。
我们打开Keplr,点击【Stake】,之后会跳转至Keplr验证者Stake网站,我们在左边栏中找到【Cosmos Hub】,然后点击【Stake】,页面右边会出现很多的验证者,我们选择【stake.fish验证者】,并且点击右边的【Manage】。
注:验证者节点cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0
在Keplr 验证者列表中所对应的验证者是【stake.fish】。
之后点击【stake.fish验证者】页面当中的【Delegate】,之后在【stake.fish验证者】页面下方的【Amount to Delegate】栏中输入【0.001】,然后点击【Delegate】,Keplr会弹出签名提示,点击【Approve】。
稍等片刻我们可以在页面顶部的【Cosmos Hub Staking】下方看到我们委托成功的验证者。
现在我们回到Nutbox v2 Cosmos ISO模块,看一下矿池,我们会发现之前委托的0.003(第三个池子)现在清零了,这是正常情况,所以想要通过委托ATOM给验证者节挖矿cToken,必须通过Nutbox进行委托,不然就会出现矿池清零现象。
现在我们再通过Nutbox v2 Cosmos ISO模块中的矿池委托0.001ATOM给验证者,正常情况下,我们委托后,正常更新的委托值应该为总的委托给验证者该节点的值。(如下图所示)
【Cosmos ISO,N部分测试完成】
O.已委托的矿池,分别切换Goerli地址和Csmos地址再次委托(正常是会提示委托账号不匹配 )
接下来的测试需要分别切换Goerli地址和Cosmos对已委托的矿池再次委托,分别由两种情况
- 不切换Goerli账户一地址,只切换Cosmos账户二地址,会出现提示
- 不切换Goerli账户二地址,只切换Cosmos账户一地址,会出现提示
一:不切换Goerli账户一地址,只切换Cosmos账户二地址,会出现提示
注:测试之前请保证分别有2个Goeli账户以及2个Comsos账户,并且都通过Nutbox v2 Cosmos ISO矿池对验证者节点委托过ATOM了,这样测试才能正常进行。
Goerli账户一:0x86E23F6BdC300F0414bc18005996353BD1585a0a
Cosmos 账户一:cosmos1rcd7x2cq25jmv0cc5ht3jupym47re4zasjqx2t
Cosmos账户二(切换):cosmos1lnnsxpw6tmzyd2pzylk99t3040p7r08ggxwphp
打开Keplr,点击keplr右上角的【用户Logo】,选择点击要切换的账户进行Cosmos账户切换。
MetaMask中的Goerli账户地址保持不变,进入我们创建的社区,进入Cosmos ISO模块,找到账户一委托过的矿池,点击矿池中的【+】或【-】。
点击矿池中的【+】或【-】后,会出现以下提示:
Please change COSMOS Account
Your COSMOS account haven't binding with current Goerli address, please change COSMOS account in your wallet first.
Your binding COSMOS account is: cosmos1rcd7x2cq25jmv0cc5ht3jupym47re4zasjqx2t
意思是和Goerli账户一地址绑定的Cosmos账户地址是cosmos1rcd7x2cq25jmv0cc5ht3jupym47re4zasjqx2t。
二:不切换Goerli账户二地址,只切换Cosmos账户一地址,会出现提示
Goerli账户二:0x13ae98310a42f1446dddDefab898eE9ff4A47c38
Cosmos 账户一(切换):cosmos1rcd7x2cq25jmv0cc5ht3jupym47re4zasjqx2t
Cosmos账户二:cosmos1lnnsxpw6tmzyd2pzylk99t3040p7r08ggxwphp
打开MataMask,点击右上角的【头像】,然后选择账户进行账户切换。
进入我们创建的社区,进入Cosmos ISO模块,找到账户一委托过的矿池,点击矿池中的【+】或【-】
点击矿池中的【+】或【-】后,会出现以下提示:
Please change COSMOS Account
Your COSMOS account haven't binding with current Goerli address, please change COSMOS account in your wallet first.
Your binding COSMOS account is:cosmos1lnnsxpw6tmzyd2pzylk99t3040p7r08ggxwphp
意思绑定Goerli账户二的Cosmos账户地址是cosmos1lnnsxpw6tmzyd2pzylk99t3040p7r08ggxwphp
测试过程中分别切换Goerli账户地址和Cosmos账户地址出现提示是正常的,如果没有出现提示就有Bug了。
【Comos ISO,O部分测试完成】
P.不同的节点建的池子测试,池子间数据互不影响
在【A测试部分】我们已经使用了一个验证者节点创建了矿池,并且在【M测试部分】用同一个节点创建了多个矿池,现在我们需要通过【F测试部分】管理创建的矿池,删除多余的矿池,留下一个就好。
点击进入【ISO】模块,点击右上角的【+ Add Delegate Pool】
在【Choose a pool type】当中选择并点击【Cosmos Staking】
接着在【Create cosmos delegate pool】下方的【Your cosmos delegatee account】栏中输入【被委托者节点】,之后点击【Confirm】
被委托者节点(不同的验证者节点):cosmosvaloper196ax4vc0lwpxndu9dyhvca7jhxp70rmcvrj90c
接着在【Create new pool】下方的【Pool Name】栏输入【矿池名称】,在【Profit Sharing Ratio】下方栏中输入【利润分享比100%】,然后点击【Ok】,之后MetaMask会弹出提示,点击【确认】,稍等片刻Cosmos Staking矿池便创建完成。
接下来进入我们所创建的社区的Cosmos ISO模块,点击【不同验证者节点】创建的矿池中的【+】
在【Delegate】下方栏中输入【0.001】,之后点击【Confirm】,接着Keplr会弹出提示,点击【Approve】,稍等片刻便成功委托,【不同验证者节点】创建的矿池中也会显示委托的ATOM数量并开始挖矿显示挖矿收益。
之后我们观察Cosmos ISO模块中的矿池会发现,通过不同节点创建的矿池,委托ATOM后,所显示的数据一切正常,并且互不影响。
【Cosmos ISO,P 部分测试完毕】
Q. 以上同步测试个人界面的矿池功能
在Nutbox v2测试网个人界面,有着个人用户参与的社区矿池的分类汇总,并且矿池信息也有相应的呈现,极大地方便了用户对所参与社区矿池的管理。
点击Nutbox v2测试网页面的左下角的【头像】,在【Staked Pools】下方点开【ISO】选项卡,里面有我们参与的Cosmos ISO矿池。
现在我们需要在个人界面操作3类,分别是
- Harvest(收获)
- 【+】增加委托
- 【-】减少委托
以我个人社区(Nutboxiso)为例,这里我在个人界面选择【sg-1 ATOM mint NSO Staking NSO Earned】矿池操作以上3类。
- Harvest(收获)
注:收获cToken奖励后,我们需要查看Goerli账户中收到的cToken奖励是否与矿池中可以收货的cToken奖励一直。
Goerli账户地址:0x86E23F6BdC300F0414bc18005996353BD1585a0a
cToken数量:6598994277.7
矿池中可收获cToken数量:118
委托的矿池:sg-1 ATOM mint NSO Staking NSO Earned
Cosmos账户地址:cosmos1rcd7x2cq25jmv0cc5ht3jupym47re4zasjqx2t
点击矿池中的【Harvest】,然后MetaMask会弹出提示,点击【确认】,稍等一会便成功收获奖励,之后检查Goerli账户数量。
Goerli账户中现有cToken:6598994399.7
计算:6598994399.7 - 6598994277.7 = 122
经过计算,收到的cToken和矿池中可收获的cToken奖励具有细微差距,这是一遍写教程一遍操作导致的细微差距,最后结果正确。
- 【+】增加委托
委托的矿池:sg-1 ATOM mint NSO Staking NSO Earned
Cosmos账户地址:cosmos1rcd7x2cq25jmv0cc5ht3jupym47re4zasjqx2t
矿池已委托数量:0.0010
点击矿池中的【+】,然后在【Delegate】下方栏中输入【0.001】,点击【Confirm】,之后Keplr会弹出提示,点击【Approve】,之后稍等一会便会委托成功。
我们现在可以发现矿池中的ATOM Delegated数值为【0.002】,矿池之前的ATOM Delegated数值为【0.001】。
计算:0.002 - 0.001 = 0.001
通过个人界面的Cosmos ISO矿池委托ATOM给验证者节点成功。
- 【-】减少委托
委托的矿池:sg-1 ATOM mint NSO Staking NSO Earned
Cosmos账户地址:cosmos1rcd7x2cq25jmv0cc5ht3jupym47re4zasjqx2t
矿池已委托数量:0.0020
点击矿池中的【-】,然后在【Delegate】下方栏中输入【0.001】,点击【Confirm】,之后Keplr会弹出提示,点击【Approve】,之后会发现矿池中的ATOM Delegated数值减少了,为【0.001】。
之后可以看到个人界面Cosmos ISO的ATOM Delegated数值为【0.001】,表明减少ATOM委托成功。
【Cosmos ISO,Q部分测试完成】
R.计算APR(年化利率)是否正确(cToken需要在Sushi.Swap为交易对添加流动性来获取价格)
在计算矿池的APR之前,我们需要为cToken添加流动性,让cToken有相应的价格,这是计算APR的基础和前提。
进入【Sushi.Swap】,点击【Legacy】,然后点击【Add】
接着点击【Connect to a wallet】,MetaMask会弹出提示,点击【下一步】,点击【连接】,完成Sushi.Swap与MetaMask的连接。
然后点击【Liquidity】页面中的【Select a token】,将cToken合约地址粘贴到【搜索】栏,之后选择并点击【cToken】,点击【Import】。
接着分别在【ETH】和【cToken】栏中设置【兑换比例】,然后点击【Approve cToken】,接着MetaMask会弹出提示,点击【确认】。
之后点击【Confirm Adding Liquidity】,然后在【You are creating a pool】页面点击【Create Pool & Supply】,随后MetaMask会弹出提示,点击【确认】,稍等片刻我们便为【ETH-cToken】交易对添加流动性,让cToken有了价格。
S.计算APR(年化利率)是否正确(cToken需要在Sushi.Swap为交易对添加流动性来获取价格)
涉及的社区:Nutboxiso
涉及的Cosmos ISO矿池:
- sg-1 ATOM mint NSO Staking
- ATOM mint NSO Staking
计算公式:
单个矿池的APR = (cToken/区块;指的是社区分发策略) × 一天的秒数 × 365天 / 出块速度 ×(矿池20%/ 区块)× 矿池利润分配比率 × cToken价格 / 单个矿池的TVL(单个矿池的总投入)× 100%
我的社区的第一阶段的cToken分发策略为:20NSO/区块
注:社区首页可以看到社区分发策略。
一天的秒数:86400秒
一年的天数:365天
Goerli测试网出块速度:15秒/区块
矿池20%/ 区块指的是:我的社区基金比例为80%(每出一个快,其中80%分配给用户作为奖励,20%分配给社区矿池)
我社区中的Comos ISO矿池(sg-1 ATOM mint NSO Staking)的利润分享比率:25%
注:矿池的利润分享比率可以在社区首页面的【Pools】查看。
cToken的价格:在【R测试部分】已经添加了,这里的价格可以再社区首页面的【Community Token】下方查看。
单个矿池的TVL(单个矿池的总投入):这个在矿池中是有显示的,可以直接查看。
计算:
*sg-1 ATOM mint NSO Staking 矿池APR
20 × 86400 × 365/15 × 20% × 25% × 0.2933 / 0.0277 ×100 = 22,261,15234.65704%
Nutboxis Cosmos ISO模块的【sg-1 ATOM mint NSO Staking】矿池的APR:2226365701.08%
经对比,有略微差异,但不影响所计算数值的正确性。
- ATOM mint NSO Staking
20 × 86400 × 365/15 × 20% × 50% × 0.2933 / 0.1664 ×100 = 741146538.4615385%
Nutboxis Cosmos ISO模块的【 ATOM mint NSO Staking】矿池的APR:746975895.35%
经对比,有略微差异,但不影响所计算数值的正确性。
【Cosmos ISO,S部分测试完成】
NUT Power
待我们测试完【Cosmos ISO】部分,现在我们需要测试【NUT Power】部分。我们需要知道NUT的奖励规则,如下:
- 每区块奖励1个NUT给gauge(矿池),其中用户80% 社区20% 开发者0%
- 收获的cToken ,10% 进入对应的gauge (矿池)
- Goerli网络为 15NUT / 区块
接下来开始我们的测试,如下:
A.Power up操作,尝试不同渠道不同值的Power up,该操作不限制,可以操作多次,操作后查看np详情页的summary栏数据是否正常
进入我们所创建的社区,进入【NUT Power】模块,然后点击页面中的【Detail】。
然后点击页面右上角的【Power up】
之后我们会看到一共有7中不同的渠道可以Power UP,分别是
- 1NUT to 1 NP
- 1NUT to 2 NP
- 1NUT to 4 NP
- 1NUT to 8 NP
- 1NUT to 16 NP
- 1NUT to 32 NP
- 1NUT to 64 NP
以上7中不同的渠道的Power up规则,如下:
【 1NUT to 1 NP】:1NUT可以Power up为1NP,如果1NP Power down为1NUT,则需要1周时间;
【1NUT to 2 NP】:1NUT可以Power up为2NP,如果2NP Power down为1NUT,则需要2周时间;
【 1NUT to 4 NP】:1NUT可以Power up为4NP,如果4NP Power down为1NUT,则需要4周时间;
【1NUT to 8 NP】:1NUT可以Power up为8NP,如果8NP Power down为1NUT,则需要8周时间;
【1NUT to 16NP】:1NUT可以Power up为16NP,如果16NP Power down为1NUT,则需要16周时间;
【1NUT to 32NP】:1NUT可以Power up为32NP,如果32NP Power down为1NUT,则需要32周时间;
【1NUT to 64 NP】:1NUT可以Power up为64NP,如果64NP Power down为1NUT,则需要64周时间;
每个渠道的Power down时间是固定不变的,无论你通过什么渠道将NUT Power up为NP,最后NP Power down NUT的时间都是固定不变的,例如我通过【1NUT to 16NP】渠道将10000NUT Power up为160000NP,最后160000NP Power down 10000NUT所需的时间依然为16周。
这里我先从【 1NUT to 1 NP】渠道开始Power up,点击【 1NUT to 1 NP】,然后在【Power up every 1 NUT to 1 NP】下方的NUT栏输入【NUT 数量】,之后点击【Approve】,MetaMask会弹出提示,点击【确认】。
之后我们可以在【Total NP】下方看到我们Power up后的NP数量。
现在我们需要按照上方的例子通过不同的渠道以及Power up不同的数值进行测试,正常来说都可以顺利进行。
当我们在不同的渠道Power down后,查看np详情页的summary栏数据是否正常,【Summary】下方会显示NP数量以及Power down的时间,数值完全正常。
【Power up ,A部分测试完成】
B.升级操作,只可升不可降,升级后查看数据是否正常
接下来我们在【A测试部分】继续操作,现在我们需要点击【Summary】下方NP数量旁边的【Upgrade】进行升级操作。
升级操作:通过现有的NP数量兑换到更多的NP,但也会导致Power down的时间变得更长,升级后Power down的时间将为原来时间的双倍。
点击【Upgrade】后我们也可以看到有7种升级渠道,分别是
- 1NP to 1 NP
- 1NP to 2 NP
- 1NP to 4 NP
- 1NP to 8 NP
- 1NP to 16 NP
- 1NP to 32 NP
- 1NP to 64 NP
接下来我们选择任意渠道进行升级,这里我选择【 1NP to 64 NP】,之后在【Upgrade NP unlock period from 1 week to 64 week下方第一栏输入【需要升级的NP数量】,然后点击【Upgrade】,之后MetaMask会弹出提示,点击【确认】。
之后我们在【Summary】下方可以看到经过升级后的NP数值,旁边的升级按钮【Upgrade】已经不在。
接下来请各位参与测的用户将【Summary】下方具有升级按钮【Upgrade】的NP数值全部升级操作,渠道只能选择更高级的,低于所要升级的NP数值不可选。
在将全部的NP数值升级后,之前的N[数值会根据不同的渠道进行归纳,以及NP数量也将增长。(经查看,升级后的数据一切正常)
【Power up,B部分测试完成】
C.操作powerdown功能,核对powerdown页面数据是否正常
当我们操作完Power up以及NP升级部分的时候,我们需要测试【Power down】部分。
进入我们所创建的社区,进入【NUT Power】模块,然后点击页面中的【Detail】。
之后我们点击【Power down】
然后在【Power down NP to NUT】页面的NP栏输入【需要Power down 的NP数量】,之后点击【Confilm】,MetaMask会弹出提示,点击【确认】
注:可多次powerdow,不同渠道不同数值powerdown操作。
之后我们可以在【Unlocking NP】下方看到有
注:powerdown后查看unlocking np栏数据一切正常。
- 6,847.00 NP to 106.984 NUT
- Unlock in 64 weeks(需要花费64周):6,847.00 NP to 106.984 NUT
【Power up,C部分完成】
D. 过段时间后(比如1天),计算Unlocking NP栏的可收获数值是否正确
这里我在【B测试部分】有通过【 1NUT to 1 NP】渠道Power up过,同时我也Power down过,这里所用时间为【1周】,通过区块链浏览器查【/goerli.etherscan.io】看Power down的交易记录可知道Power down过了多长时间【如下图所示,目前已经Power down了7 hrs 27 mins ago】。
注:因为是写教程,时间一直在走,Power down时间并不固定在7 hrs 27 mins。
计算公式:Power down已发生时间 / 7(Power down需要一周时间)/24 (1天24小时)× Power down数量
计算:7.55(7hrs33mins) / 7 / 24 × 10 = 0.4494047619047619
现如今【Unlocking NP】栏下方的数据-【Unlock in 1 weeks:
10.000 NP to 10.000 NUT】为【Claim available: 0.4544 Nut】,和我所计算的数据出入不大,这是正常的,也是正确的。
【Power up,D部分完成】
E.个人页面的NP汇总展示是否正常(有元饼图的那里)
这部分的测试比较简单,我们尽自己所创建的社区,进入【NUT Power】模块,最右边有一个【元饼图】,红色部分是【未用于投票的NP数量】,绿色部分是【已经投票的NP数量】。
在页面右边的【NUT Power】下方有我们的NP总量,为
NP:6,976.00 NP = 109.000 NUT
现在将红色部分【未用于投票的NP数量】和绿色部分【已经投票的NP数量】相加为【6,976.00 NP】,表明个人页面的NP汇总展示正常(有元饼图的那里)。
【Power up,E部分测试完成】
F.创建Gauge(一个矿池对应可以创建一个Gauge,以创建了Gauge的将不能创建,体现为创建Gauge时,选择列表不包含该矿池)
我们在创建Gauge之前我们需要明白几点,分别是
我们所创建的Gauge其实就是在NUT Power模块所创建的矿池;
在明白第一点之后,我们每创建一个Gauge的过程中都需要选择一个有效的矿池(已经在Cosmos ISO或Farming模块创建的矿池),且一个Gauge对应着、绑定着一个在Cosmos ISO或Farming模块创建的矿池。
如果在NUT Power模块创建Gauge时已经选择了一个有效矿池,那么下次再创建Gauge时就不能在选择同一个矿池了,只能选择其他有效的矿池进行Gauge的创建。
接下来让我们根据教程创建Gauge... ...
进入我们社区管理页面,进入【NUT power】模块,点击右上角的【+ Add NP Vote Pool】
在【Add a NP vote pool】页面选择已经创建的【现有矿池】,然后点击【ok】,之后MetaMask会弹出提示,点击【确认】。
注:为了添加NUT Power投票池,您需要选择现有的质押池。用户可以从NP投票池中获得NUT和cToken。
之后我们的【NUT Power】矿池便创建完成。
【Power up,F 部分完成】
G.创建的Gauge的APR计算是否正确
在计算所创建的Gauge,我们需要知道Gauge中的APR包含了NUT的APR和cToken的APR,如下图所示:
其中,NUT的流动性已经在Sushi.Swap添加过了,目前是有价格的,现有的社区所创建的Gauge中NUT的APR都是一样的,不一样的是cToken(社区资产),cToken要有APR以及想要计算APR是否正确,这里必须通过Sushi.Swap为cToken创建流动性,让cToken有价格。
进入【Sushi.Swap】,点击【Legacy】,然后点击【Add】
接着点击【Connect to a wallet】,MetaMask会弹出提示,点击【下一步】,点击【连接】,完成Sushi.Swap与MetaMask的连接。
然后点击【Liquidity】页面中的【Select a token】,将cToken合约地址粘贴到【搜索】栏,之后选择并点击【cToken】,点击【Import】。
接着分别在【ETH】和【cToken】栏中设置【兑换比例】,然后点击【Approve cToken】,接着MetaMask会弹出提示,点击【确认】。
之后点击【Confirm Adding Liquidity】,然后在【You are creating a pool】页面点击【Create Pool & Supply】,随后MetaMask会弹出提示,点击【确认】,稍等片刻我们便为【ETH-cToken】交易对添加流动性,让cToken有了价格。
当为cToken添加了流动性有价格之后,我们就可以计算【Gauge的 NUT APR】,计算公式如下:
- 用户年收益/(NUT锁仓总量/NP总量*NP质押总量)= NUT APR
- 一年收益*80% = 用户年总收益
- NUT锁仓总量:146.875
- NP总量:7794
- NP质押总量:6050
先计算一年的收益:
注:15s / 区块(出块速度) ;1NUT/ 区块 ;一年365天(31536000秒)
31536000 / 15 = 2,102,400
2,102,400*80 = 1681920(一年的收益)
接着计算NUT APR
1681920 / (146.875/7794*6050) = 14752.3933 * 100 = 1475239.33%
现在我们看一下Gauge NUT APR 所显示的APR数值为【1475239.33%】,和计算的一样 。
然后我们需要加上cToken,得出Gauge的总APR,再看显示的数据是否正确。
计算:
1475239.33% + 88.38% = 1475327.71%
最后发现计算的数值与所呈现的数值几乎一样,cToken APR的变化会对最终Gauge 总APR数值呈现产生略微影响。
【NUT Power,G部分完成】
H.社区页面投票测试,增减NP投票,查看卡片数据是否正常,其中cToken为对应矿池有收取奖励,将分10%到该Gauge中。
这里我们先测试【社区页面投票测试,增减NP投票,查看卡片数据是否正常】。
【增加NP投票测试】
进入我们创建社区,进入【NUT Power】,点击矿池中的【+】
然后在【Vote】页面输入【NP投票数量】,之后点击【Confirm】,MetaMask会弹出提示,点击【确认】,稍等片刻可以在元饼图看到数值增加了,数据显示正常
【减少NP投票测试】
进入我们创建社区,进入【NUT Power】,点击矿池中的【-】
然后在【Vote】页面输入【减少NP投票数量】,之后点击【Confirm】,MetaMask会弹出提示,点击【确认】,稍等片刻可以在Gauge看到投票的NP数量减少了,数据显示正常。
接下来需要收取Gauge所对应的矿池,用户收获的时候才会有10%个点的ctoken进入到NUT Power里面 , 检测该区块用户的NP占比分配且显示。
进入创建Gauge所选择的现有矿池,收获cToken挖矿收益,点击矿池中的【Harvest】,之后MetaMask会弹出提示,点击【确认】,稍等片刻便收获完成。(可以刷新页面更新显示)
接下来进入【Cosmos ISO】模块,查看Gauge cToken收益,可以发现有之前收获的挖矿收益,有10%进入到了NUT Power里面 。
注:本次操作收获了两次。
【NUT Power,H部分测试完成 】
I.模拟多个用户投票同一个池子,计算各自的奖励分配是否正确
测试这部分的用户,请自己准备2~3个Goerli账户,并且在Nutbox v2分别为这些账户领取NUT测试币以及让这些账户有ETH测试币做手续费,并且根据【A测试部分】让每个账户都有一定数量的NP。
注:我这里准备2个Goerli账户。
接下来需要用户切换账户对同一个池子进行投票,并且为了计算奖励分配是否正确,这里需要两个账户对同一个池子投票相同数量的NP,即通过(1:1)对照模式作为判断标准。
所选社区(个人社区):Nutboxiso
所选Gauge:NSO mint NSO Staking
接下来按照【H测试部分的增加投票】部分进行投票操作,记得切换不同Goerli账户进行测试,并且投票相同数量的NP,也需要保证每个账户所投票的NP总和数量一样。
账户一 :0x86E23F6BdC300F0414bc18005996353BD1585a0a
投票NP数量:500
经过测试一切正常,Gauge数值显示正常,并且产生了挖矿收益。
账户二:0x13ae98310a42f1446dddDefab898eE9ff4A47c38
投票NP数量:500
经过测试一切正常,Gauge数值显示正常,并且产生了挖矿收益。
接下来需要【计算各自的奖励分配是否正确】,也就是用户单个区块获得的NUT数量是否正确。
注:NUT Power部分的挖矿收益主要以NUT为主,所以价格和APR也因为和NUT有关,并且出块速度依然是15S/区块,1NUT/区块;每区块将分配80%给用户作为奖励。
计算公式
用户单个区块获得的NUT数量 = 个人用户质押NP总和 / 所有用户质押np总和×0.8
个人用户质押NP的总量:
账户一:7100
账户二:7100
所有用户质押的NP总量:136666
最后计算:
账户一:7100/136666×0.8=0.0415611783
账户二:7100/136666×0.8=0.0415611783
经过以上计算可以得知,在模拟多个账户投票的时候,当每个账户质押NP的总和以及投票数量相同时,用户单个区块获得的NUT数量是正确的。
注:这里每个账户代表一个用户。
【NUT Power,I 部分测试完毕。】
J.收获奖励,查看实际到账与显示数值是否一致
接下来我们需要【I 测试部分】的基础进行奖励收获,然后通过将实际到账数量与矿池中可收获的部分进行对比测试,如果数值一致,那表示一切正常。(这里选择账户一进行测试)
账户一:0x86E23F6BdC300F0414bc18005996353BD1585a0a
账户现有NUT测试币:1061.69948NUT
接下来点击Gauge(NSO mint NSO Staking)中的【Harvest】,之后MetaMask会弹出提示,点击【确认】,稍等片刻查看账户数量。
账户一:0x86E23F6BdC300F0414bc18005996353BD1585a0a
收获奖励后账户现有NUT测试币:1062.05257NUT
时即可收获NUT奖励数量:0.3415
实际到账NUT:1062.05257- 1061.69948=0.35309
经过以上测试发现,已到账的数量和可收获的数量虽有略微差距,但基本一致,这略微的差距来自于一边写教程一遍操作导致的微小误差。
【NUT Power,J 部分测试完毕】
K.投票后,再次测试NUT Power相关功能,投票的NP为Locked状态
接下来的测试,在【I 测试部分】的基础上,通过账户一和账户二进行【K部分】的测试。
个人用户质押NP的总量:
账户一:0x86E23F6BdC300F0414bc18005996353BD1585a0a
已投票的NP数量:7100
已用于投票的NP,在右边元饼图显示为【Locked状态】
账户二:0x13ae98310a42f1446dddDefab898eE9ff4A47c38
已投票的NP数量:7100
已用于投票的NP,在右边元饼图显示为【Locked状态】
经测试,投票后,再次测试NUT Power相关功能,投票的NP为Locked状态,一切正常。
【NUT Power,K部分测试完成】
L.以上同步测试个人页面的Nutpower选项卡
在通过进入社区的方式参与NUT Power完之后,我们需要在个人页面测试NUT Power,个人页面将个人用户所参与的社区矿池进行了分类汇总,这样更便于个人用户对参与矿池进行管理。
点击Wlanut v2页面左下角的【个人头像】进入到个人页面,然后在【Staked Pools】点击【NUT Power】选项卡,接着用户可以看到自己所参与的社区矿池,并且矿池的信息也呈现在哪里。
在我们参加的每一个社区Gauge中都有3个操作选项,分别是
- Harvest(收获)
- 【-】减少投票的NP数量
- 【+】 增加投票的NP数量
接下来我们将以此操作以上3个选项,操作【Harvest】同样需要像【J 测试部分】进行数据对比;操作【-】【+】也同样需要像【H测试部分】那样查看卡片数据是否正常。
【Harvest】
测试账户:0x86E23F6BdC300F0414bc18005996353BD1585a0a
所测试的Gauge:NSO mint NSO Staking
账户现有NUT测试币:1062.05257NUT
可收获NUT:0.5666(数据有略微差距)
选择一个已经参与的Gauge,点击Gauge中的【Harvest】,之后MetaMask会弹出提示,点击【确认】,稍等片刻NUT奖励收获成功。
收获后账户NUT数量:1062.65569NUT
计算:1062.65569 - 1062.05257 = 0.60312
经过计算,所得数据和可收获数据有略微差距,这是操作过程中一遍写教程一遍操作导致的细微差异,收获NUT奖励方面正常。
【+】增加投票数量
测试账户:0x86E23F6BdC300F0414bc18005996353BD1585a0a
增加数量:100NUT
所测试的Gauge:NSO mint NSO Staking
所测试Gauge的【NP Voted】数据呈现:500
点击Gauge中的【+】,然后在【Vote】下方栏中输入【100】,之后点击【Confirm】,而后MetaMask会弹出提示,点击【确认】,稍等片刻便会增加投票成功。
现在我们检查卡片中的【NP Voted】数据是否增加。
测试账户在【I测试部分】对该Gauge投票过500NP,现如今该Gauge的【NP Voted】有600。
计算:600 - 500 = 100
经过测试和计算,通过个人页面的Gauge进行增加NP投票数量后,Gauge中放入【NP Voted】显示正常。
【-】减少投票数量
测试账户:0x86E23F6BdC300F0414bc18005996353BD1585a0a
减少数量:100NUT
所测试的Gauge:NSO mint NSO Staking
所测试Gauge的【NP Voted】数据呈现:600
点击Gauge中的【-】,然后在【Vote】下方栏中输入【100】,之后点击【Confirm】,而后MetaMask会弹出提示,点击【确认】,稍等片刻便会增加投票成功。
现在我们查看所测试的Gauge中的数据为【500】,之前测试增加投票数量后为【600】。
计算:600 - 500 = 100
经过测试和计算,通过个人页面的Gauge进行减少NP投票数量后,Gauge中放入【NP Voted】显示正常。
这里是Nutbox——Nutbox是一个DAO创建平台,借助于Nutbox提供的Staking-based bootstrap协议、Extensions和Governance,社区可以像在Uniswap上创建交易对一样轻松创建DAO,并引导DAO启动。
- Nutbox官网:https://nutbox.io/
- Peanut v2(BSC):https://app.nutbox.io/#/sub-community/home/?id=0xc54C1F0E7A75Fb405038891E316c973D26Bf0125
- Nutbox官方推特:https://twitter.com/NutboxDao
- Nutbox官方github:https://github.com/nutbox-dao
- Nutbox官方电报群:https://t.me/nutbox_defi
- Nutbox官方中文电报群:https://t.me/nutboxcn
- Nutbox官方discord:https://discord.gg/mCwCTUgE9T
Nutbox大使申请方式:加入Nutbox | 全球社区大使计划
Nutbox合集:关于Nutbox的集合手册 | 需要的请自取
注:Nutbox合集中包含了Peanut中各种挖矿教程以及PNUT的交易教程等,很实用哦,需要的用户请自取。
Comments