Code Monkey home page Code Monkey logo

hdwallet's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hdwallet's Issues

Some Cryptos (Terra, Avalanche ...) Do Not Work With NBitcoin 7.0.5

The HDWallet project is referring to NBitcoin version 5 currently.

When I'm referring NBitcoin version 7 together with HDWallet, I have error when generating HDWallet.Terra and HDWallet.Avalanche.

No implementation:
at NBitcoin.IBitcoinSerializable.ReadWrite(BitcoinStream stream)
at NBitcoin.BitcoinSerializableExtensions.ToBytes(IBitcoinSerializable serializable, Nullable1 version) at HDWallet.Secp256.AccountSecpBase1.GetWallet(UInt32 addressIndex, Boolean isInternal)
at HDWallet.Secp256.AccountSecpBase`1.HDWallet.Core.IAccount.GetExternalWallet(UInt32 addressIndex)

Will there be future support for the NBitcoin 7+?

Hardened deriviation path

Hi. I looked the code, and found there it:

public ExtKey Derive(uint index)
{
    (var childkey, var childcc) = this.Key.Derivate(this.ChainCode, index + hardenedOffset);
    return new ExtKey(childkey, childcc);
}

in HDWallet.BIP32.Ed25519/ExtKey.cs

Why all childs always hardened?

Aggregate values

My problem is that the wallet addresses are made in HD, but unfortunately the amounts are not available after depositing in index 0.

This is my step.

1.I create HD and external wallet addresses:

string words = "mmm ..."
IHDWallet<TronWallet> wallet = new TronHDWallet(words);
var account0 = wallet.GetAccount(0).GetExternalWallet(0);
var account2 = wallet.GetAccount(0).GetExternalWallet(1);
var account3 = wallet.GetAccount(0).GetExternalWallet(2);

2.Then I transfer some TRX to account 2 & account 3.

3.Then I add the default wallet address based on the words in the tronlink.

Unfortunately I do not have access to the amount through a single wallet!

Stacks addresses incorrect

Hi, i found incorrect line in your method for the stacks coin, address generator
var publicKey = pubKey.Decompress();
Why you decompress key? I replace this line on
var publicKey = pubKey;
And it's good working, addresses equals for the hiro wallet and other for the Stacks.

Deposit USDT TRC20

Hello. I have created 3 address from account 0 of Tron HD Wallet. Now the question is can I deposit usdt trc20 to these 3 addresses? or first must deposit some trx to every address? I want to get every user in my website one address to deposit usdt trc20 without need to deposit trx first. Can I do this?

Scan 100,000 wallets and get notified after receiving coinsReceive when receiving coins

I have a question.
I have 100,000 wallet addresses and I want to be notified immediately if a token is deposited into it, like a webhook / event listener or something like that.
Is there a way that is basic and we can do it? Like wallet applications, in the past I used to regularly query and compare transactions, but this is not good at all.

Example:
https://api.trongrid.io/v1/accounts/{address}/transactions/trc20?only_confirmed=true&contract_address=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t&only_to=true&limit=200

for each address

Tron/Ethereum HD Wallet

Is there a way using this library I can use the public keys only of a tron/eth HDWallet to get the deterministic wallet addresses? Ive seen this done using the Nethereum library but wondered if it was possible with this library for both Tron and Ethereum?

Cleanup non issue

When my account was compromised a spam issue was created in this repo. I sincerely apologize. Cleaning up such issues via script.

Generating Deterministic Polkadot Addresses

With my implementation, anyone can generate Polkadot addresses based on Bip32-Ed25519.

My implementation has the same results with test vectors here;
https://github.com/satoshilabs/slips/blob/master/slip-0010.md#test-vector-1-for-ed25519

I can also confirm that addresses I generated is same with generate from subkey with private key if I investigate it.

Results from my code;

Address: 5G6tXDeie2KaUgGrwkBfzApKSCm9sE5QvBm1bi1vmBZ4gcCN
Public key: b29b533725c02f6e69d8774c92d8a5a98506c2f09e13a1adbe4db367fbfa512a
Private key: 8bd78fe8b30abf91d3e9474c8927d9874fabc7e31ce2d866cf795378161f954a
Expanded private key: 8bd78fe8b30abf91d3e9474c8927d9874fabc7e31ce2d866cf795378161f954ab29b533725c02f6e69d8774c92d8a5a98506c2f09e13a1adbe4db367fbfa512a
Result from Subkey

subkey inspect 0x8bd78fe8b30abf91d3e9474c8927d9874fabc7e31ce2d866cf795378161f954a --scheme Ed25519
Secret Key URI 0x8bd78fe8b30abf91d3e9474c8927d9874fabc7e31ce2d866cf795378161f954a is account:
Secret seed: 0x8bd78fe8b30abf91d3e9474c8927d9874fabc7e31ce2d866cf795378161f954a
Public key (hex): 0xb29b533725c02f6e69d8774c92d8a5a98506c2f09e13a1adbe4db367fbfa512a
Account ID: 0xb29b533725c02f6e69d8774c92d8a5a98506c2f09e13a1adbe4db367fbfa512a
SS58 Address: 5G6tXDeie2KaUgGrwkBfzApKSCm9sE5QvBm1bi1vmBZ4gcCN
When I investigate the private key from my hd wallet implementation, Subkey prints the same address as I generated.

The problem here that, my implementation is not suitable with official hd wallet implementation which uses path like P//hard//soft (where P is mnemonic)
I rather use a path as m/44/354/0/0/0, to define 0. account's 0. deposit wallet.

The gotcha here is that, from same mnemonic I can't produce the same set of addresses with other available wallets.

Add post actions to return wallet details

Add relevant methods to return address-private key pairs
e.g.

[HttpPost("/Avalanche/{account}/external/{index}")]
public ActionResult<KeyPair> GetDepositWallet(uint account, uint index)

For only apps that allowed this by configuration exposePrivateKey

should return a response like;

{
 "address": "X-avax1....",
 "privateKey" : "adf54djmr...."
}

Balance and transactions

Hello. Thank you for sharing this project. I have some questions

After creating hd wallet of tron and generate some address on it how to get the balance and transactions of that address?

May you please help me hot to get a webhook data when new deposit on network for the generated address take place?

Tron Signature

In the documentation of the Tron it is written: Note: The size of the signature result is 65 bytes.
https://tronprotocol.github.io/documentation-en/mechanism-algorithm/account/#signature
The sign method returns a 68-byte signature to you, if you use your signature method to send a regular transfer, everything will work correctly, but if you use it for TRC 20 TriggerSmartContract when you broadcast, we will get a "SIGERROR"
@farukterzioglu Could you fix this? This is the only library I know on C # that allows you to sign a transaction offline, it would be great if we could use it to sign TriggerSmartContract

Internal Address

Hello. What is internal address in hd wallet of tron for? What is the diference between address 0 of account 0 of an mnemonic in deposit and internal mode?

Need Offline build transaction and sign

The way to create transactions is not completely offline, which is a serious problem. When signing, you cannot guarantee whether the contents of the trading partner are not tampered with.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.