部署Candy Machine报错:浮点数18446744073709552000不符合u64类型要求
Candy Machine部署问题解决、流程及UI使用指南
一、浮点数转u64错误解决方法
错误invalid type: floating point '18446744073709552000', expected u64的核心原因是配置中的大数值被识别为浮点数,但Candy Machine要求u64类型的整数。解决步骤:
- 检查
config.json或相关配置文件,找到该大数,确保它以纯整数格式书写,无小数点、科学计数法等格式。 - 若数值由脚本生成,修改脚本逻辑,强制输出整数类型(比如在JavaScript中使用
BigInt处理大整数,避免自动转浮点数)。 - 重新部署前删除本地
.cache文件夹,清除缓存后再执行部署命令。
二、Candy Machine完整部署流程
1. 环境初始化
- 安装Node.js(16+版本)、Yarn,以及Solana CLI:
sh -c "$(curl -sSfL https://release.solana.com/v1.14.16/install)" solana config set --url devnet solana-keygen new --outfile ~/.config/solana/devnet.json solana airdrop 2 $(solana address) - 克隆仓库并安装依赖:
git clone https://github.com/metaplex-foundation/candy-machine-v2.git cd candy-machine-v2 yarn install
2. 资产与配置准备
- 将NFT图片和对应元数据文件(命名需一致,如
0.png、0.json)放入assets文件夹。 - 编辑
config.json,确保所有数值为整数格式(比如SOL价格需转成lamports,1 SOL=1000000000 lamports):{ "price": 1000000000, "number": 10, "solTreasuryAccount": "你的钱包地址", "goLiveDate": "2024-05-20T00:00:00Z", "storage": "arweave-sol", "noRetainAuthority": false, "noMutable": false }
3. 上传资产
ts-node src/candy-machine-v2-cli.ts upload ./assets -e devnet -k ~/.config/solana/devnet.json -cp config.json
记录返回的candyMachineId,后续部署和UI配置会用到。
4. 部署Candy Machine
ts-node src/candy-machine-v2-cli.ts deploy -e devnet -k ~/.config/solana/devnet.json -cp config.json
若再次触发错误,清空.cache后重新执行命令。
5. 验证部署
ts-node src/candy-machine-v2-cli.ts verify -e devnet -k ~/.config/solana/devnet.json -c 你的candyMachineId
三、Candy Machine UI使用方法
1. 启动本地UI
cd ui yarn install yarn start
浏览器自动打开http://localhost:3000。
2. 连接与加载机器
- 点击右上角钱包图标,连接Phantom等Solana钱包,确保网络与部署环境一致(如devnet)。
- 在输入框填入
candyMachineId,点击"Load Candy Machine"加载配置。
3. Mint测试
- 确保钱包有足够SOL(测试网可通过
solana airdrop获取)。 - 点击"Mint"按钮,确认钱包交易,完成后可在钱包中查看新生成的NFT。
4. UI自定义
- 编辑
ui/src/components下的组件文件,修改页面样式、文字内容。 - 调整
ui/src/config.ts中的默认网络、页面标题等配置项。
内容的提问来源于stack exchange,提问作者Aum
相关产品推荐
相关产品推荐

