最近在使用starknet进行开发,这里提供一些starknet的开发建议,希望对大家有所帮助。不要使用warp(至少目前阶段不要使用)因为starknet使用了新的开发语言cairo,所以对以太坊solidity合约无法直接迁移。新语言cairo不仅仅是开发语言的转变,而且整个开发工具链都发生了变化,其原因是cairo属于python体系所以工具链都采用了python,而solidity的工具链大都使用js。所以开始想到的是,是否存在办法可以将solidity合约直接转为cairo,这样dapp的迁移成本会大大降低。https://github.com/NethermindEth/warp正是这样一个项目。但经过尝试发现warp转换过的编译产物体积会膨胀非常严重,比如原来较为简单的nft项目将无法部署。此外由于cairo不支持msg.value等(后面会介绍不支持的原因)以及对字符串的不友好导致我们无法通过简单的转换工具来迁移合约变得不可行,所以目前阶段建议大家不要通过warp转换solidity的方式进行迁移,而是直接使用cairo进行重写。使用docker搭建纯粹的开发环境...