Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Customize Wallet #26

Open
bcbear-gun opened this issue Jan 26, 2018 · 1 comment
Open

Customize Wallet #26

bcbear-gun opened this issue Jan 26, 2018 · 1 comment

Comments

@bcbear-gun
Copy link

Hi, Can I change this wallet to other currency wallet?

@makevoid
Copy link
Collaborator

Hi, yes potentially, especially for majour crypto currencies it will be quite easy, you need to use a different bitcore-lib settings and find a block explorer that supports the calls needed (roughly: getBalance, getUTXOs, broadcastTransaction). So for example for litecoin you can pass to bitcore-lib the new network settings, for example these:

const litecoinNet = {
  name: 'litecoin',
  alias: 'lite',
  pubkeyhash: 0x30,
  privatekey: 0xb0,
  scripthash: 0x32,
  xpubkey: 0x019da462,
  xprivkey: 0x019d9cfe,
  networkMagic: 0xfbc0b6db,
  port: 9333,
  dnsSeeds: [
    'dnsseed.litecointools.com',
    'dnsseed.litecoinpool.org',
    'dnsseed.ltc.xurious.com',
    'dnsseed.koin-project.com',
    'seed-a.litecoin.loshan.co.uk',
    'dnsseed.thrasher.io'
  ]
}

const liteNet = bitcore.Networks.add(litecoinNet)

and then select that network whenever you generate or load any private key:

return new bitcore.PrivateKey($window.localStorage.bitNfcPrivateKey);


Otherwise you can use a bitcore-lib fork if present, for example, litecoin has this: https://github.com/litecoin-project/litecore-lib

Then switch the blockchain.info URLS, calls, and all relative methods that use their responses:

getBalance

'url': 'https://blockchain.info/unspent',

getUTXOs

'url': 'https://blockchain.info/q/addressbalance/' + address,

pushTX

'url': 'https://blockchain.info/pushtx',


You can switch them to (keeping litecoin as example):

GetBalance()

Generic documentation:

https://www.blockcypher.com/dev/bitcoin/#address-balance-endpoint

example for litecoin:

https://api.blockcypher.com/v1/ltc/main/addrs/LTCPodGk5FwcJaRzH9yKnwicxzFUbxp6tN/balance

etc...

all assuming if you're using a crypto currency forked off bitcoin, if the currency is very different (ethereum) then you could probably reuse only the UI / NFC provider / Angular controllers part

hope this helps

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants