# blockcraft **Repository Path**: maxmalong/blockcraft ## Basic Information - **Project Name**: blockcraft - **Description**: fully onchain SLG game - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-06-25 - **Last Updated**: 2024-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dev运行说明 1. 在BlockCraft目录启动Hardhat节点? * npx hardhat node --hostname 0.0.0.0 2. 部署? * npx hardhat run --network localhost scripts/deploy_whole.js * .env中配置部署账户私钥 3. 链上数值初始化? * 分别执行testonchain目录下的0-initial.js中的6个初始化方法。我的批量执行写的不对,所以只能注释掉其它的然后挨个执行。 * monster() PvETokenList()等6个方法 * node testonchain\0-initial.js 4. 测试调用? * node testonchain\1-hero.js 执行1-hero.js中的方法 * node testonchain\4-gear.js 执行4-gear.js中的方法 # todo 1. 进入大世界,进入生产需要先判断英雄状态,只能是0或者1状态即Free和Arm可以进入场景。未来的DeFi部分遵循同样规则,抵押英雄需要英雄不在其他场景或者状态。 2. 传脱装备是否受其他状态约束?在大世界或者生成过程可否脱装备? 3. 扩展性试验,如何增加兵种,英雄的种族,特殊技能? 4. 如何通过副本和活动进行特殊放出? 5. 了解NatSpec Format文档规范,并添加合适的注释 6. 装备血量加成影响英雄血量上限? 7. 校验链上写入数据的正确性? 8. 脚本批量写入链上数据,await的使用逻辑。done: 试了一下,可以工作。 9. 穿上武器以后得战斗过程校验。 10. hardhat和solidity版本升级到最新 11. 为什么HeroInfo 超过12个成员就报错stack too deep,而GearInfo17个也没问题? # best practice 1. Use descriptive variable names. 2. Limit the number of active variables. 3. No redundant logic. 4. Early exit as much as possible to reduce mental load when seeing the code. 5. Related code should be placed near each other. 6. Delete unused code. 7. Pay attention to import order. https://www.youtube.com/watch?v=Wm3t8Fuiy1E