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

How are other bitcoin-core currencies added? #2

Open
ericlw opened this issue Feb 8, 2015 · 2 comments
Open

How are other bitcoin-core currencies added? #2

ericlw opened this issue Feb 8, 2015 · 2 comments
Labels

Comments

@ericlw
Copy link

ericlw commented Feb 8, 2015

Hello, I had been pondering a way to connect an app to other blockchain networks in a universal way. How does this app tackle this problem?

My brief skimming of this app seems like there is no UI for this, and instead the app would have to be manually updated in the code and recompiled to add additional currencies.

What if there were network parameters on a third party server for each coin, and the user could browse coin networks, click one, and immediately have that network in their app of choice ie. encompass. Does this app have a way to facilitate that as is or what does it have?

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@Kefkius
Copy link
Member

Kefkius commented Feb 8, 2015

New blockchains are added to Encompass when a chainkey module is written for that coin (see here https://github.com/mazaclub/encompass/blob/master/lib/chains/README.md).

Also, this code isn't manually compiled. Python is a scripting language so one simply has to restart the program. :)

It has no other method of doing this. After a bit of discussion, an easier method that doesn't require waiting for us to make a new release seems favorable, so we may see something like that in the future.

@museack
Copy link
Contributor

museack commented Feb 9, 2015

There are three main components to make Encompass work. First, there's the client wallet application that is installed on a user's computer. Second is an Electrum Server for each coin network. Third is the coin daemons for each coin network. The Encompass wallet talks to the Electrum Servers which talk to the Bitcoin/Lightcoin/Mazacoin daemons. At this time, there must be separate electrum servers for each coin.

The ChainKey module essentially defines all the coin-specific variables for each coin so that Encompass may talk to the Electrum server. While the creation of the ChainKey module is not too complex, there still must be a valid Electrum server to connect to.

The fundamental issue is that in order to connect to any blockchain, you need to have access to the blockchain. Encompass may provide you a building block to connect to any blockchain that has a publicly accessible Electrum server, but that's it. But even then, your interaction with the blockchain is limited to what the Electrum server will allow and what information it will give you (I'm a little vague on that... Kefkius is the genius, not me :-)

The only way I know to have total access to all the blockchains is to run all the coin daemons, which is an expensive proposition. You might be able to get some information about a blockchain from a public (or private) APIs. Coinwarz, Block Chain Explorers, Exchanges, Mining Pools, Mining Rental companies are all possible sources for public/private API info. But its hardly universal... Every API is a little different (and could change!), so you'd have to piece together information from different sites with different info and data structures.

guruvan added a commit that referenced this issue Feb 24, 2015
adds changes for OSX cross compile
@guruvan guruvan added the Answer! label Mar 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants