羊驼挖矿失而复得

羊驼是一个币安智能链上的项目,当时刚一推出我就参与了。不过项目方为了防止前期砸盘压力太大,所以早期挖矿出来的奖励Alphca只有30%可以马上拿到,剩余70%会锁仓一个月。

后来为了鼓励大家更长时间的锁仓,项目方又提出了一种新的代币,就是说可以把70%锁仓的部分提取出来,转换成另一种代币叫做sAlphca,sAlphca即可以流通卖掉,也可以继续挖矿。

具体操作如下图所示:


但是我在操作时候犯了一个错误,我执行完前两步,突然想起我还有一小部分Alphca没有claim,所以我去做了别的操作,再回头过来执行claim,发现悲剧了,无法执行第三步,页面上的所有按钮都是灰色的,无法再点击。

也就是说我锁仓的那部分Alphca在进行合约转换时,停在了一个中间过程,不能再执行了,数量有接近1W个,价值几千$。

当时十分懊悔,后来去查阅官方文档,发现下面内容:


图中的意思是:这三步操作一定要连续操作,但我恰好中断了!

看来什么时候阅读文档都是很重要的一件事情。

后来想找人帮忙解决,在项目方的电报群留言也没有回应,我想看看能不能找人解决,即使付费也是值得的。不过在现实生活中,找到即懂代码,又懂Defi挖矿的人不多。

后来我找了一个代码高手帮我看代码,他不懂Defi,也没有学过这种智能合约的语言Solidity,不过他还是花了不少时间帮我把相关智能合约的代码看了,确认了程序架构。

后来高手在自学了Solidity,阅读代码后,基本弄清楚了代码架构,提出可以在币安智能链的测试网上进行部署测试,我一听这个主意不错。但是发现却无法申请测试网的BNB代币,后来终于在币安的网站找到相关说明,需要把申请测试网代币的BNB地址发推特,才可以。经过一系列操作,终于获得了测试网代币,但是部署合约没有想象的那么容易,遇到不少错误提示。

后来经过查看代码结构,确定第三步是执行 stage 3: hodl,且这个函数没有入参,执行起来比较方便,最终我决定还是值得一试。

利用币安智能链的浏览器,连接钱包,找到当时前端页面上第三步所对应的HOLD函数,手动执行。


经过短暂的等待,几千个sAlpaca出现在我的小狐狸钱包里,经历了这种失而复得,心里十分开心。


后来我发了一个四位数的红包对高手表示感谢!

下面是我们两人在石墨文档上的交互记录,这是我受今日头条开发团队的启发,让人围绕文档转,这样可以大幅提高写作效率。

交互文档

一、当时操作步骤

第一步:创建合约:Create a contract to deposit the locked rewards into the Stronk Vault

https://bscscan.com/tx/0xe8c376eae09908c7effc96c18713d74d6681314afafd68081c23a18dfb63xxxx

第二步:Deposit locked rewards into the Stronk Vault

https://bscscan.com/0x3c91558dc97d20dd41a66f59702c08fc6e524fdcae429d1b7e157745df50xxxx

第三步:未执行


二、其它信息

合约地址:

https://bscscan.com/address/0x6f695bd5ffd25149176629f8491a5099426ce7a7

羊驼官方文档:Converting locked rewards into sALPACA tokens

https://docs.alpacafinance.org/our-protocol-1/step-by-step-guide/converting-locked-rewards-into-salpaca

三、待做事情:

1、https://app.alpacafinance.org/stronk-vault

确认按钮“Claim your sALPACA” 具体执行了什么操作,如何调用合约

2、阅读合约代码,在https://bscscan.com/  尝试单步运行智能合约,完成未执行的第三步

四、可参考完整步骤(感谢伟峰提供)

钱包地址:0x40baae1684a9689328272eb8470af2b54e5373f2

第一步: https://bscscan.com/tx/0x01ed2377c591b22ee60c5e889ac83c581a61743168f8e568a7c6c0d062e19082

第二步:https://bscscan.com/tx/0x7c64c6e65d722fb376fe4c5931a6b322985b8520dae7d7f8bb9488e3df4a9307

第三步:https://bscscan.com/tx/0x4498b205f29f6ecd7aae43a9fff0bc3076c99dc41b60a90c2afcc94be25ed8eb

1. prepareHodl, 2. transferAll, 3. hodl

五、看网页代码

下载安装Chrome浏览器插件:ResourcesSaverExt。用chrome打开https://app.alpacafinance.org/stronk-vault 后按F12,点tab页上的ResourcesSaver-> Save all  Resoures 保存网页源码。

搜 “Claim your sALPACA”,看app.alpacafinance.org\app.alpacafinance.org\static\js\components\stronkVault\HoldProcess.tsx

可以看到函数 HodlProcess 里实现了具体的三个步骤。

第一步  stage 1: prepareHodl

stronkAlpaca.prepareHodl


第二步  stage 2: alpaca.transferAll

alpaca.transferAll


第三步 stage 3: hodl

stronkAlpaca.hodl


六、 合约本地测试

从github取羊驼的合约代码:

git clone https://github.com/alpaca-finance/alpaca-contract.git

有 hardhat.config.ts,查知是以太坊开发工具hardhat的配置文件。

安装nodejs,npm安装hardhat及其依赖。

经过几天折腾,终于可以跑它自带的测程 StronkAlpaca.test.ts 了。


后续思路:在测试网试验直接调用第三步hodl。

优先在bsc 的testnet试验,因为这样环境最像bsc mainnet。可以试验下载一个钱包,生成帐号,去测试网领代币,模拟羊驼挖矿等操作。

如果bsc testnet不好用,可以用以太坊的testnet?如果testnet不好用,可以自己搭以太坊私链来测试?

测试是写个小程序,用钱包私钥作签名,调用区块链上合约的hodl。

小程序用什么语言写?羊驼网站和羊驼合约测试源码调hodl都是用typescript,可以直接参考,但之前没用过typescript,还需学习这个语言的基本用法。也可以用别的语言?java,python,golang都有库可以和以太坊通信,但也要学习。还是用typescript吧。


七、bsc测试网的说明

https://binance-wallet.gitbook.io/binance-chain-extension-wallet/best-practice/untitled

https://docs.binance.org/smart-chain/validator/testnet.html

有人成功申请到了测试网的funds

https://community.binance.org/topic/3851/please-fix-the-faucet-send-me-some-testnet-funds

好像是需要Twitter分享才可以领取

https://community.binance.org/topic/3040/%E5%B8%81%E5%AE%89%E9%93%BE%E6%B5%8B%E8%AF%95%E7%BD%91%E6%B0%B4%E9%BE%99%E5%A4%B4%E8%BF%81%E7%A7%BB%E5%85%AC%E5%91%8A?_=1617361520396

你需要通过发送Tweet并分享 tweets URL来获得测试币。每个账户每天可以领取一次,每次得到5BNB。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,695评论 1 9
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,503评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,570评论 2 9
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,161评论 4 8