一、准备工作
1. 技术栈要求
核心语言:Kotlin (Android), Swift (iOS), C++ (跨平台核心)
区块链知识:熟悉 BIP39/44/84、ECDSA 签名、EVM 等标准
工具链:Git, Gradle, Xcode, CMake
2. 环境配置
bash
# 克隆主仓库
git clone https://github.com/trustwallet/wallet-core.git
cd wallet-core
# 安装依赖 (MacOS 示例)
brew install cmake automake libtool
./tools/install-dependencies.sh
二、贡献流程
1. 寻找贡献点
新手任务:查看 Good First Issue 标签
功能开发:筛选 Feature Request 提案
链支持:添加新链的 模板代码
2. 开发规范
kotlin
// 示例:添加新代币(Android端)
class MyCoin : CoinType() {
override fun id(): String = "mycoin" // SLIP-044 ID
override fun name(): String = "MyCoin"
override fun symbol(): String = "MYC"
override fun decimals(): Int = 18
override fun derivationPath(): DerivationPath = DerivationPath("m/44'/60'/0'/0/0")
}
测试覆盖:所有 PR 需包含单元测试
代码格式:遵循 Google Java/Kotlin Style
3. 提交 PR
Fork 仓库 → 创建特性分支 (feat/add-x-chain)
提交代码并附加测试
发起 PR 并关联 Issue(标题格式:[Chain] Add MyCoin support)
通过 CI 检查(包括 build-android/build-ios)
三、核心模块贡献
1. 区块链支持
组件 文件路径 关键方法
地址生成 src/Coin.cpp deriveAddress()
交易签名 src/proto/{chain}.proto SigningInput 定义
RPC 交互 src/interface/{chain}.h broadcastTransaction()
2. 安全审计点
关键区域:
助记词推导 (src/Mnemonic.cpp)
私钥存储 (src/Key.cpp)
交易构造 (src/TransactionBuilder.cpp)
禁止行为:
硬编码私钥
禁用证书验证(如 curl_easy_setopt(CURLOPT_SSL_VERIFYPEER, 0L))
四、社区协作机制
1. 沟通渠道
技术讨论:GitHub Discussions
实时交流:Trust Wallet Dev Discord
周会:每周三 UTC 14:00(日历订阅)
2. 代码审查标准
安全审查:至少 2 名核心成员批准
架构审查:由 @hewigovens 或 @madcake 终审
合并流程:
五、开发者激励
赏金计划
区块链集成:$500-2000/链(开放链列表)
安全漏洞:最高 $10,000(漏洞报告)
荣誉体系
Contributor:合并 5+ PR → 专属 NFT 徽章
Maintainer:持续贡献 6 个月 → 决策投票权