开源贡献:参与Trust Wallet的开发

一、准备工作

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)

image.png

三、核心模块贡献

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 终审


合并流程:

image.png

五、开发者激励

赏金计划


区块链集成:$500-2000/链(开放链列表)


安全漏洞:最高 $10,000(漏洞报告)


荣誉体系


Contributor:合并 5+ PR → 专属 NFT 徽章


Maintainer:持续贡献 6 个月 → 决策投票权


TAG:Trust Wallet官网 开源贡献 区块链开发 GitHub协作 钱包核心 代码审计
我们使用 cookies 来提升您的体验。继续访问本网站即表示您同意我们的 cookie 使用。 我们使用 cookies 来提升您的体验。继续访问本网站即表示您同意我们的 cookie 使用。