0xmonaco CTF 体验心得
由开发人员、艺术家和设计师组成的集体 MatchBoxDAO 宣布推出 MatchBox Arena。该团队将其称为“Web3 公司的世界杯”,并表示游戏锦标赛旨在找出哪家公司拥有最好的技术团队。首先,可以代表公司和世界顶级的crypto公司(uniswap,polygon,ledger,chainlink。。。)同台竞技真的是一个非常荣幸的事情。所以我牺牲了宝贵的春节假期,就一直在打这个比赛。 这次CTF是一个用solidity操控汽车的算法比赛(终于遇到我非常感兴趣的地方了)介绍这本质上来说是一次博弈实验,而不是一次简单的代码hackthon。更像是一个社会实验,涉及纯技术方面、经济激励、效用优化模式和理性的压力测试。对于每一个参赛者,你需要实现自己的Car合约,特别是takeyourturn这个函数。对于每一轮你都需要做出决策,具体有五种决策: 1)加速(ACCELERATE) 2)炮弹(SHELL) 3)超级炮弹(SUPER_SHELL) 4)香蕉(BANANA) 5)盾(SHIELD) 有点像跑跑卡丁车?是的。。每一种决策都会耗费掉你的金额,你的金额总量是17500。而...
0xmonaco CTF 体验心得
由开发人员、艺术家和设计师组成的集体 MatchBoxDAO 宣布推出 MatchBox Arena。该团队将其称为“Web3 公司的世界杯”,并表示游戏锦标赛旨在找出哪家公司拥有最好的技术团队。首先,可以代表公司和世界顶级的crypto公司(uniswap,polygon,ledger,chainlink。。。)同台竞技真的是一个非常荣幸的事情。所以我牺牲了宝贵的春节假期,就一直在打这个比赛。 这次CTF是一个用solidity操控汽车的算法比赛(终于遇到我非常感兴趣的地方了)介绍这本质上来说是一次博弈实验,而不是一次简单的代码hackthon。更像是一个社会实验,涉及纯技术方面、经济激励、效用优化模式和理性的压力测试。对于每一个参赛者,你需要实现自己的Car合约,特别是takeyourturn这个函数。对于每一轮你都需要做出决策,具体有五种决策: 1)加速(ACCELERATE) 2)炮弹(SHELL) 3)超级炮弹(SUPER_SHELL) 4)香蕉(BANANA) 5)盾(SHIELD) 有点像跑跑卡丁车?是的。。每一种决策都会耗费掉你的金额,你的金额总量是17500。而...
Aptos Move NFT发行代码剖析
背景Move的NFT和Solidity 721/1155相比,相差非常远。所以我觉得挺有必要重新研究一下如何在Aptos发行NFT。我下面的文章的重点是:Aptos Move是面向资源的编程。所以NFT无疑也是一种资源存储在Aptos网络里。 https://mirror.xyz/0xaaE7a1AD2764626d09a233a9bC06C38b413637cf/aaMa0nhHcv6JN-AuN64HpUll3tdWXCTbLj929EhqvDM核心整个Aptos NFT的核心要掌握3个用户:creator(创建者):设计/创建这些NFT的设计者rolayty(收税收的人):用户mint的过程中,rolayty可以收取版税mint(mint NFT的用户):mint NFT的用户用户发行Aptos NFT的大概步骤是:creator提前注册好NFT的资源(或者说注册好这个NFT类型的版权)。(token::create_collection)minter触发mint_nft,记录/传入creator的签名,通过token::create_tokendata方法进行发行NFT所...
Aptos Move NFT发行代码剖析
背景Move的NFT和Solidity 721/1155相比,相差非常远。所以我觉得挺有必要重新研究一下如何在Aptos发行NFT。我下面的文章的重点是:Aptos Move是面向资源的编程。所以NFT无疑也是一种资源存储在Aptos网络里。 https://mirror.xyz/0xaaE7a1AD2764626d09a233a9bC06C38b413637cf/aaMa0nhHcv6JN-AuN64HpUll3tdWXCTbLj929EhqvDM核心整个Aptos NFT的核心要掌握3个用户:creator(创建者):设计/创建这些NFT的设计者rolayty(收税收的人):用户mint的过程中,rolayty可以收取版税mint(mint NFT的用户):mint NFT的用户用户发行Aptos NFT的大概步骤是:creator提前注册好NFT的资源(或者说注册好这个NFT类型的版权)。(token::create_collection)minter触发mint_nft,记录/传入creator的签名,通过token::create_tokendata方法进行发行NFT所...
Sui MoveCTF 攻防
官网https://movectf.movebit.xyz/ Git: https://github.com/shanxuanchen/MoveCTF题目1第一题是check in题,需要用户准备好环境即可。触发合约,然后提交对应的签名即可。题目2这道题其实稍微有点难~~~~ 我们先看一下get flag的条件:要拿到Treasury Box随机数要刚好达到0我们知道其实随机数达到0的概率非常小,其实此时几乎可以确定此题的最大考点: **随机数攻击**get flag1. 拿到Treasure Box从slay_boar_king的方法里可以看到,当满足d100 == 0时(随机数的结果为0),sender就可以拿到box资源。当然,我们前提是要能打赢怪物boar。打赢怪物boar纯属就是一个简单的循环逻辑了,只要攻击力和防御力有一定就可以了。 所以,我们需要循环100多次slay_boar。然后积累一定的经验值,然后升级即可。2. 随机数要刚好达到0本题的两个随机数重要变量是:tx hashids_created(这个是object new出来之后的自增ID)我们采取的攻击方法...
Sui MoveCTF 攻防
官网https://movectf.movebit.xyz/ Git: https://github.com/shanxuanchen/MoveCTF题目1第一题是check in题,需要用户准备好环境即可。触发合约,然后提交对应的签名即可。题目2这道题其实稍微有点难~~~~ 我们先看一下get flag的条件:要拿到Treasury Box随机数要刚好达到0我们知道其实随机数达到0的概率非常小,其实此时几乎可以确定此题的最大考点: **随机数攻击**get flag1. 拿到Treasure Box从slay_boar_king的方法里可以看到,当满足d100 == 0时(随机数的结果为0),sender就可以拿到box资源。当然,我们前提是要能打赢怪物boar。打赢怪物boar纯属就是一个简单的循环逻辑了,只要攻击力和防御力有一定就可以了。 所以,我们需要循环100多次slay_boar。然后积累一定的经验值,然后升级即可。2. 随机数要刚好达到0本题的两个随机数重要变量是:tx hashids_created(这个是object new出来之后的自增ID)我们采取的攻击方法...

成长 -- 随笔(2)
深夜陷入了沉思,回顾了一下自己的成长历程。距离上一次的成长随笔已经过去7个月了~~ https://mirror.xyz/0xaaE7a1AD2764626d09a233a9bC06C38b413637cf/By3P_3NiIriKGObdbWlFo0mDdwFDY1v9VFbjaUMmObU 既然是随笔,我觉得格式什么的,就随意了~~ 这段时间我学了啥呢~~ Uniswap V2, V3; 精通Curve ( 3 Pool, Meta Pool, Compond Pool, AAVE Pool) ~~~ Balancer V2, Kyber, Bancor ; AAVE, Clipper, DODO, Mstable, Saddle, Shell, Wombat ~~~ DODO, DODO V2, Fraxswap ~~ 对我来说,能力提升最大的是打CTF。比赛的过程,纠错发现bug的攻防真的很能提升一个人的合约能力~~~ 最开心的是,认识了组内Andrew和Jimmy两位Crypto科学家~~ 最感激的是,Melvin带着我做项目,耐心和孜孜不倦地引导我去激发自己的潜能~~...

成长 -- 随笔(2)
深夜陷入了沉思,回顾了一下自己的成长历程。距离上一次的成长随笔已经过去7个月了~~ https://mirror.xyz/0xaaE7a1AD2764626d09a233a9bC06C38b413637cf/By3P_3NiIriKGObdbWlFo0mDdwFDY1v9VFbjaUMmObU 既然是随笔,我觉得格式什么的,就随意了~~ 这段时间我学了啥呢~~ Uniswap V2, V3; 精通Curve ( 3 Pool, Meta Pool, Compond Pool, AAVE Pool) ~~~ Balancer V2, Kyber, Bancor ; AAVE, Clipper, DODO, Mstable, Saddle, Shell, Wombat ~~~ DODO, DODO V2, Fraxswap ~~ 对我来说,能力提升最大的是打CTF。比赛的过程,纠错发现bug的攻防真的很能提升一个人的合约能力~~~ 最开心的是,认识了组内Andrew和Jimmy两位Crypto科学家~~ 最感激的是,Melvin带着我做项目,耐心和孜孜不倦地引导我去激发自己的潜能~~...

Aptos Move 开发经验闲谈
距离10月1号,刚好快1个月了。 那个时候,我利用国庆假期,把代码重构,部署正式网,写aptos-web3,跑通Aptos SDK~ 项目审计结束,而且准备上线了。有很多经验想记录下来,不管是留给后人也好,还是留给自己,应该很有意义。如何入门Move?我目前除了我在读的内部文档,我没有找到过更好的 aptos move入门教程。所以,下面这篇Move Book可以暂时先入门,但是离上手还远远不足。 https://www.chainfeeds.xyz/feed/detail/6f7bba60-8a0e-466c-a219-b2d243405556如何练习Move?官方的文档太过简单,从入门到大神的本质是需要不断的练习和实践。所以我们需要很多的开源用例,去测试,运行,和实践。这里推荐官方的Turial文档,把里面的项目全部过一遍。那你就已经具备了开发Move项目的能力了。 这里有全部常用的项目代码模版:TokenNFTDex ( uniswap V2 )Diem 稳定币https://github.com/move-language/move如何深入Move?我个人觉得,除了要掌握...

Aptos Move 开发经验闲谈
距离10月1号,刚好快1个月了。 那个时候,我利用国庆假期,把代码重构,部署正式网,写aptos-web3,跑通Aptos SDK~ 项目审计结束,而且准备上线了。有很多经验想记录下来,不管是留给后人也好,还是留给自己,应该很有意义。如何入门Move?我目前除了我在读的内部文档,我没有找到过更好的 aptos move入门教程。所以,下面这篇Move Book可以暂时先入门,但是离上手还远远不足。 https://www.chainfeeds.xyz/feed/detail/6f7bba60-8a0e-466c-a219-b2d243405556如何练习Move?官方的文档太过简单,从入门到大神的本质是需要不断的练习和实践。所以我们需要很多的开源用例,去测试,运行,和实践。这里推荐官方的Turial文档,把里面的项目全部过一遍。那你就已经具备了开发Move项目的能力了。 这里有全部常用的项目代码模版:TokenNFTDex ( uniswap V2 )Diem 稳定币https://github.com/move-language/move如何深入Move?我个人觉得,除了要掌握...