Bitcoin Forum
May 28, 2024, 03:51:18 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Seeking Technical Details  (Read 31 times)
copblockdev (OP)
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
October 01, 2022, 05:05:58 AM
 #1

Hey, y'all!

I'm developing a wallet, which is intended to be multi-currency.

I am seeking technical details on coins.

Right now, I'm looking for ZEN( ZenCache ), Monero (XMR), Ripple (XRP), and LBRY (LBC).

Here is an example of the information I need.  It's basically to go from a HD-Key to an
address, plus information on how to connect to the network and download blocks.

Thanks in advance for any help!  Regards, Nobody


/*
  info from:
    https://github.com/Bitcoin-ABC/bitcoin-abc/blob/master/src/chainparams.cpp
*/


// ------------------------------------------ BCH coininfo ------------------------------------------

var common = {
  name: 'BitcoinCash',
  per1: 1e8,
  unit: 'BCH'
}

var main = Object.assign({}, {
  hashGenesisBlock: '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f',
  // nDefaultPort
  port: 8333,
  portRpc: 8332,
  protocol: {
    // pchMessageStart
    magic: 0xe8f3e1e3 // careful, sent over wire as little endian
  },
  // vSeeds
  seedsDns: [
    'seed.bitcoinabc.org',
    'seed-abc.bitcoinforks.org',
    'btccash-seeder.bitcoinunlimited.info',
    'seed.bitprim.org',
    'seed.deadalnix.me',
    'seeder.criptolayer.net'
  ],
  // base58Prefixes
  versions: {
    bip32: {
      private: 0x0488ade4,
      public: 0x0488b21e
    },
    bip44: 145,
    private: 0x80,
    public: 0x00,
    scripthash: 0x05
  }
}, common)

var test = Object.assign({}, {
  hashGenesisBlock: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943',
  port: 18333,
  portRpc: 18332,
  protocol: {
    magic: 0xf4f3e5f4
  },
  seedsDns: [
    'testnet-seed.bitcoinabc.org',
    'testnet-seed-abc.bitcoinforks.org',
    'testnet-seed.bitprim.org',
    'testnet-seed.deadalnix.me',
    'testnet-seeder.criptolayer.net'
  ],
  versions: {
    bip32: {
      private: 0x04358394,
      public: 0x043587cf
    },
    bip44: 1,
    private: 0xef,
    public: 0x6f,
    scripthash: 0xc4
  }
}, common)

var regtest = Object.assign({}, {
  hashGenesisBlock: '0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206',
  port: 18444,
  portRpc: 18332,
  protocol: {
    magic: 0xfabfb5da
  },
  seedsDns: [],
  versions: {
    bip32: {
      private: 0x04358394,
      public: 0x043587cf
    },
    bip44: 1,
    private: 0xef,
    public: 0x6f,
    scripthash: 0xc4
  }
}, common)

module.exports = {
  main,
  test,
  regtest
}
vv181
Legendary
*
Offline Offline

Activity: 1932
Merit: 1273


View Profile
October 01, 2022, 11:32:13 AM
 #2

I didn't quite comprehend what designs of the wallet applications as a whole that you are trying to achieve. Integrating many coins to be able to act as a node seems an inefficient way for a wallet. It is tremendous work that is not worth the effort.

What you should do is not directly connect to the network and act as a full node, instead, you should take a look at SPV or light nodes or use the full nodes RPC. If you take a look at the Trust Wallet core codebase, which acts as a foundation for the Trust Wallet, the way the wallet works is by connecting via remote nodes[1]. So, unless you are know what you are doing, you better to think about it again.

[1] https://developer.trustwallet.com/wallet-core/newblockchain/rpc-requirements
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!