thenewboston-blockchain / Projects

Proposals for projects and apps for thenewboston.
https://thenewboston.com/
MIT License
70 stars 33 forks source link

Hd Wallet for TNB - Typescript Package - 1 #248

Closed tomijaga closed 3 years ago

tomijaga commented 3 years ago

Link to the milestone and objectives table.

https://github.com/thenewboston-developers/Projects/issues/198

Detailed log of all completed objectives including valid proof of work.

Implementation of Slip 0010 Derivation

This derivation scheme is used for all derivations in the wallet # Objectives Proof of Work
1 Derivation scheme with support for ed25519 and secp256k1 curves https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/slip0010.ts
2 Derivation Scheme Test with the official test vectors https://github.com/tomijaga/Tnb-HD-Wallet/tree/main/tests/slip10

HdWallet

Bip 44 path : m / purpose' / coin_type' / account' / change / address_index # Objectives Proof of Work
1 Bip 39 Mnemonic derivation and validation https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/baseHd.ts#L31
2 Seed Generation from Mnemonic Phrase https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/baseHd.ts#L31
3 Supports Bip 44 specific paths https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/baseHd.ts#L41
4 Formats account and address index to Bip44 Path https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/baseHd.ts#L86
5 Retrieve Address Object from any specified Path https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/baseHd.ts#L100
6 Get Address Object from an account and address index https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/baseHd.ts#L113
7 Implementation of Bip 44 Address Discovery https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/webHd.ts#L43
8 Retrieves specified Accounts if it follows the sequential pattern of Bip44 https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/webHd.ts#L70
9 Retrieves all valid Accounts https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/webHd.ts#L91
10 HdWallet Tests https://github.com/tomijaga/Tnb-HD-Wallet/tree/main/tests/HdWallet

Supported Cryptocurrencies

# Coin Code Test
1 Bitcoin https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/bitcoin.ts https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/tests/HdWallet/bitcoin.test.ts
2 Ethereum https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/ethereum.ts https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/tests/HdWallet/ethereum.test.ts
3 Thenewboston https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/src/HdWallet/thenewboston.ts https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/tests/HdWallet/thenewboston.test.ts

Project Wallet

8de30226230c35bbc1ce4a63c62a7b9c86bf0ce21fc7bc1a984b7884a9f88782

manishram commented 3 years ago

Documentation: https://github.com/tomijaga/Tnb-HD-Wallet/blob/main/Docs.md