🧩 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.h
BitcoinSigningInput
객체를 기반으로 TX 생성 및 서명 처리 (developer.trustwallet.com).
• 계정 기반 (이더리움 등)
src/Ethereum/Signer.cpp
/include/TrustWalletCore/TWEthereumSigningInput.h
Transaction.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/ |