@abcwalletio/tron
v1.0.0
Published
ABC WaaS Tron adapter — MPC-based @tronweb3/tronwallet-abstract-adapter compatible wallet (secp256k1)
Readme
@abcwalletio/tron
ABC WaaS SDK의 Tron 체인 어댑터입니다. @tronweb3/tronwallet-abstract-adapter의
Adapter 베이스 클래스를 구현하므로 tronwallet-adapter-react-hooks의
WalletProvider와 그대로 통합됩니다.
Installation
pnpm add @abcwalletio/tron @abcwalletio/core tronweb @tronweb3/tronwallet-abstract-adapterPeer Dependencies
@abcwalletio/coretronweb>=5.0.0@tronweb3/tronwallet-abstract-adapter>=1.0.0
Quick Start
import { createWaasSDK, LocalStorageAdapter } from '@abcwalletio/core';
import { AbcTronAdapter } from '@abcwalletio/tron';
const sdk = await createWaasSDK({
storage: new LocalStorageAdapter(),
auth: { v2: { clientId: '...', clientSecret: '...' } },
});
// Tron은 secp256k1 키 사용
await sdk.mpc.generateKeyShare('secp256k1', 'password');
const adapter = new AbcTronAdapter({
sdk,
requestPassword: async () => prompt('MPC 비밀번호?') ?? '',
});
await adapter.connect();
console.log('Address:', adapter.address); // T... Base58CheckReact + WalletProvider 통합
import { WalletProvider } from '@tronweb3/tronwallet-adapter-react-hooks';
<WalletProvider adapters={[adapter]}>
{/* useWallet() 훅이 adapter를 자동 인식 */}
</WalletProvider>API
new AbcTronAdapter(config)
interface AbcTronAdapterConfig {
sdk: WaasSDK;
requestPassword: () => Promise<string>;
keyId?: string; // 생략 시 sdk.mpc.getDefaultKeyId('secp256k1') 자동 조회
}메서드 (Adapter 규격)
| 메서드 | 설명 |
|--------|------|
| connect() | 공개키 조회 + Tron Base58Check 주소 도출 + connect 이벤트 emit |
| disconnect() | 상태 초기화 |
| signMessage(messageHex) | 메시지 해시 서명 (r:s:v) |
| signTransaction(tx) | tx.txID에 서명해 signature 필드 추가 |
| getPublicKey() | 원시 공개키 hex 반환 |
| getUncompressedPublicKey() | 64바이트 비압축 공개키 (0x prefix 포함) |
유틸리티
import { tronAddressFromUncompressedPublicKey, isValidTronAddress } from '@abcwalletio/tron';
const address = tronAddressFromUncompressedPublicKey('0x04...'); // "T..."
isValidTronAddress('TXYZ...'); // booleanLicense
MIT — Copyright (c) 2026 Ahnlab Blockchain Company
