🧩 1. HD 지갑 생성 및 복구
src/HDWallet.cpp/include/TrustWalletCore/TWHDWallet.h- BIP39 시드 생성, 복구 및 BIP44/BIP84 등 표준에 따른 키/주소 유도 담당 (github.com, trustwallet.github.io).
🧠 2. 주소 유도
src/Derivation.cpp/include/TrustWalletCore/TWDerivationPath.h- 커스텀 경로(
m/44'/60'/…) 처리할 수 있으며,HDWallet.getKey(...),CoinType.deriveAddress(...)메소드 구현 (trustwallet.github.io, developer.trustwallet.com).
- 커스텀 경로(
✍️ 3. 트랜잭션 서명
• UTXO 기반 (비트코인 등)
src/Bitcoin/Signer.cpp/include/TrustWalletCore/TWBitcoinSigningInput.hBitcoinSigningInput객체를 기반으로 TX 생성 및 서명 처리 (developer.trustwallet.com).
• 계정 기반 (이더리움 등)
src/Ethereum/Signer.cpp/include/TrustWalletCore/TWEthereumSigningInput.hTransaction.Transfer,chainID,gasPrice,gasLimit등 포함하여 Ethereum 트랜잭션을 입력받아 RLP 인코딩 서명 처리 (developer.trustwallet.com).
🔀 4. AnySigner (범용 서명 API)
src/AnySigner.cpp- 다양한 코인 타입에 대해 공통 인터페이스로 서명 가능. 주로 브라우저나 WASM 환경에서 사용 (developer.trustwallet.com).
🧩 5. Protobuf & C 인터페이스
src/proto/*.proto&include/TrustWalletCore폴더- 트랜잭션 관련 모델은 Protobuf로 정의되며,
TW_*접두사의 C 헤더로 노출되어 언어간 바인딩을 제공 (developer.trustwallet.com).
- 트랜잭션 관련 모델은 Protobuf로 정의되며,
🔐 6. 암호화/키 관리 유틸리티
src/Crypto.cpp,Trezor-crypto서브폴더,include/PublicKey.h/PrivateKey.h- 키 생성, 서명 처리, AES/PBKDF2 등 저수준 암호 기능을 제공 .
🧪 7. 테스트 & 샘플
tests/,swift/Tests/,samples/android/…TestBitcoinSigning.kt- 각 기능의 실제 작동을 검증하기 위한 테스트 케이스 예시 제공 (developer.trustwallet.com).
🧭 요약: 핵심 파일 정리
| 기능 영역 | 주요 파일 위치 |
|---|---|
| HDWallet (seed/key) | src/HDWallet.cpp, include/TWHDWallet.h |
| Derivation | src/Derivation.cpp, include/TWDerivationPath.h |
| Bitcoin Signer | src/Bitcoin/Signer.cpp, TWBitcoinSigningInput.h |
| Ethereum Signer | src/Ethereum/Signer.cpp, TWEthereumSigningInput.h |
| AnySigner | src/AnySigner.cpp |
| Protobuf & C API | src/proto/*.proto, include/TW*.h |
| Crypto utils | src/Crypto.cpp, trezor-crypto/**/* |
| Tests & 샘플 | tests/, swift/Tests/, samples/ |