0xhardman:
清理-追齐(预期1-2周,主要我来完成)
已完成官网第一阶段目标:
升级依赖,包括:react、next、viem、wagmi
移除了 ethers 等不使用/过期的依赖
优化了 Eslint 自动排序导入
实现了一部分文件的 jsx 化
升级了 wagmi 相关调用,移除了 ethers 相关调用,包括:发放 Badge、Mint Buidler Card、批量发放 LXP。
整理了个人信息([address].jsx)文件,成功将1800行的代码拆分为多个文件。
删除了一些旧功能: 个人页面MintDialog, onboarding mint、vote页面
整理abi到了@/abi文件夹下,更新合约调用方式
移除了多语言相关的配置及文件
https://upgrade-lxdao.vercel.app/ 欢迎大家来找测试体验
可以通过此处提交bug feature建议:LXDAO 官网意见收集
下一步优先完成 OP 迁移,同步进行官网细节的优化,见下一帖。
2 Likes
计划参考阮一峰老师的 blog 规范一下我们的代码提交
1 Like
Marcus
July 9, 2024, 10:07am
24
我会整理一些可用的内容,去申请 Optimism mission request
Please post your Mission Request ideas you would like to see sponsored by the Feedback Commission in this thread this template. Steps: Copy the provided template. Create a new forum post, paste the template, and fill out all the questions. Add...
Reading time: 1 mins 🕑
Likes: 7 ❤
研究了半天为什么本地后端连不上数据库,发现是 数据库的 connection 满了,需要关掉一些数据库连接,参考这片文章 。
SELECT pg_terminate_backend(pid) FROM pg_stat_activity
WHERE pid <> pg_backend_pid()
AND state in ('idle', 'idle in transaction', 'idle in transaction (aborted)', 'disabled')
AND usename != 'rdsadmin';
调研了下 NFT.Storage 停止提供上传 IPFS 对我们 LXDAO 的影响。
更新/ onboarding过程中会报错,但实际上会更新
buidler card 无法更新。
可选的调整方案:
中心化:一律上传 AWS S3,头像上传已经这么做了。
去中心:替换 NFT.Storage 的服务为 Infura 的 ,可能要充钱。
紧急处理方案:
因为修这个东西可能还是要花蛮多时间的,但实际上上传 IPFS 在大多数时候并不是必要的流程,所以为了官网的 UX 体验可以先把相关代码注释掉。
对的,有一些项目 MetaPavo 等共用了一个数据库,应该迁移走,避免出现链接过多的问题。目前就是定期重启先处理一下
研究了一宿,终于能够重新部署 Buidler card 到 OP Sepolia 上并 Verify,
顺便更新了一波,写了个 mint 的脚本。
但坏消息是,mint 函数只能给自己 mint。
下一步计划写一个 Airdrop 方法 ,打算找 @kahn.yuan 审核一下吧。
function mint(bytes calldata metadataURI, bytes calldata signature)
external
{
require(
balanceOf(_msgSender()) == 0,
"LXDAOBuidler: The buidler has already minted."
);
require(
_verify(_hashBytes(metadataURI, _msgSender()), signature),
"LXDAOBuidler: Invalid signature."
);
uint256 tokenId = _nextTokenId();
_safeMint(_msgSender(), 1);
buidlerStatuses[tokenId] = Status.Active;
ILXDAOBuidlerMetadata(metadataAddress).create(tokenId, metadataURI);
emit Minted(_msgSender(), tokenId);
}
有一个问题需要注意:发送邮件功能缺少权限校验,直接调用接口就可以发,这个需要处理一下