truedat101 / dlang-sv-community

A community repository for stuff related to #dlang Silicon Valley Meetup group
http://www.meetup.com/D-Lang-Silicon-Valley/
2 stars 1 forks source link

Dlang needs some good blockchain modules #36

Open truedat101 opened 8 years ago

truedat101 commented 8 years ago

There are zero bitcoin or blockchain modules on code.dlang.org

pedroalvesbatista commented 6 years ago

What you think we start trying so ? I'm up to start something like that !!!

truedat101 commented 6 years ago

ok - so question is, wrap an existing C/C++ library, or write from scratch in D?

truedat101 commented 6 years ago

And also what is the right blockchain consortium or technology stack to adopt? So many options out there.

truedat101 commented 6 years ago

A quick search of GH: https://github.com/search?l=C%2B%2B&o=desc&q=blockchain&s=stars&type=Repositories&utf8=%E2%9C%93

for C++ projects, shows clearly:

are the most widely starred. Python has a lot more repositories that match the search term, however, these tend to be toy implementation. Go is probably the most popular though, and has the same three, plus an implementation of lightning network: https://github.com/search?l=Go&o=desc&q=blockchain&s=stars&type=Repositories&utf8=%E2%9C%93

pedroalvesbatista commented 6 years ago

Well pointed, we can start by seeing whats out there, and, for a more accurated approach, take what could be the most simple at first, and then we can start by incrementing the whole thing.

truedat101 commented 6 years ago

@pedroalvesbatista agreed. Here is a bit more research I found on the active projects: https://dupress.deloitte.com/dup-us-en/industry/financial-services/evolution-of-blockchain-github-platform.html

truedat101 commented 6 years ago

Most of the new projects are either forking an existing go or c++ code base to build their blockchains, or they are writing "toy" reference implementations in Javascript. Any of the JS stuff should be easy to rewrite in D, and the Go stuff and C++ stuff as well. I looked a bit at Ripple and their Interledger project. That has some interesting, smaller sized code bases that could be ported.

truedat101 commented 6 years ago

I'm very interested in the EOS project, which is characterized as an Ethereum alternative https://github.com/eosio

truedat101 commented 6 years ago

@pedroalvesbatista ur located in Brazil? Are there any major financial institutions adopting blockchain? If so, which/what?

pedroalvesbatista commented 6 years ago

@truedat101 Lets at first write some basic code that already exists in other languages, just for catching up how all the stuff works, and then we go after something new. Smart contracts, consensus algorithms and other things that composes the blockchain ecosystem we can try step by step. As you cited, EOS project is quite promisor and interesting, we can take it as a starting point, what you think ?

yes, I'm located in Brasil. Here there are some startups, like OriginalMy, that's the first to bring blockchain into the real scene for public use, and there is Foxbit that works with Bitcoin. The Brazilian Central Bank is doing a lot of experiments in blockchain to futurely use it as real pro operandus ecosystem.

pedroalvesbatista commented 6 years ago

What about we create a Slack channel as a source of truth for this project, and we start small until we have something useful ?

truedat101 commented 6 years ago

Oi @pedroalvesbatista , agreed. I'm a member of this meetup group: https://www.meetup.com/Cryptocurrency-Study-Group-Meetup/

Can you join there, and then request a membership to the slack channel? I have set up a dev discussion channel there. Membership info:

Dicussions about coins, ico's, technologies take place on our SLACK project space. Participate by sending kathykeating@gmail fo an invite!

Once you are on, dm me at same username.

truedat101 commented 6 years ago

@pedroalvesbatista did you join that group to get onto the slack channel?

Also - I'm thinking it might be good to start with a paper wallet. Most projects, even some of the big projects with huge market caps don't have good options for paper wallet generation. A good example of a paper wallet is:

https://github.com/matthiaszimmermann/ethereum-paper-wallet

Please review. It is a java project. The concepts of what it produces are solid. It is written in Java, uses maven to build, and spits out a wallet, private keys, public key, QR code, and a nice web page to be either hosted, loaded into a local browser, or go straight to print. Could just start with a re-write/port to D. Then look at a paper wallet for a different currency. It seems like everyone is clamoring for good open source paper wallets that aren't totally scary. People don't want to go to a website and get phished to create a paper wallet.

pedroalvesbatista commented 6 years ago

@truedat101 I still do not entered the chat yet, just waiting.

I am studying the paper wallet, I think is pretty solid as you noted, and for a kick start we can take it for porting to D. Seeking for something simple and agile, the adoption of more of blockchain/Bitcoin ecosystem into D can be a way up to the road.

truedat101 commented 6 years ago

In terms of HTML generators, there are some existing libraries I'm sure in D that will work.

For a paper wallet it appears you need:

I may have simplified a complex detail or two as I haven't review ed the code for the paper wallet. I think Ethereum is a great starting point.

No project out there has built a single code base to generate paper wallets for multiple cryptocurrency targets. Most of the projects use JS, a few use Go, a few python, and a few C++. When I say a few, I mean like 1. After Ethereum, I would like to have a BTC paper wallet generator, and maybe XRP (Ripple).

truedat101 commented 6 years ago

@pedroalvesbatista did you sign up for the meetup? Maybe when you do that, also make your request to join the slack channel. I can ask the organizer to add you by your email address if you DM me your email address.

pedroalvesbatista commented 6 years ago

@truedat101 Those 4 points that cited seems to be the main stream for get a paper wallet, and Ethereum has a solid set of tools, again, I agree with you, we can start looking at it. Generating something applicable for BTC and for sure another altcoin lately would be really great. Golang (I'm a golang developer as well) provides a lot of facilities that I may think is equal to Dlang in terms of performance and integrability.

I joined the meetup and hoping to join Slack.

truedat101 commented 6 years ago

@pedroalvesbatista I will contact the meetup organizer to request your access to slack.

Note: the decred cyrptocurrency project has all of their stuff written in go. Ethereum has some stuff written in go as well. For me I am hoping to continue to work with D and promote use of D. So I will focus on D. I think it helps to have understanding of Go.

pedroalvesbatista commented 6 years ago

@truedat101 Thank you very much !

What you think we embrace to the "radar" 5 main features that we can start to work in D, and along the way we identify more features that can turn more powerful the project into D ? Surely, as discussed above, take paper wallet as a starting point.

pedroalvesbatista commented 6 years ago

I will put myself into work and update with the tools and libs that can help us up into that endeavor. Possiblely, I will start to work into a project that uses general payments with BTC, right before I found your post when making some googling, I was imagining using D for something in Blockchains. It's easy to see that D has a lot to offer to the blockchain ecosystem, and we can be in some way pioneers on that.

truedat101 commented 6 years ago

@pedroalvesbatista I've sent a request to the meetup organizer. Hopefully she will activate you and get you an invite to slack. If not, we can set up a slack or maybe better, just use gittr. I'll set up something there under dblockchain. I've added you to my origanization, IoTone as a collaborator on https://github.com/IoTone/paperwallet-d.

truedat101 commented 6 years ago

@pedroalvesbatista I've also created an umbrella project https://github.com/IoTone/dblockchain (sort of like this github repository) as a place to collect the ideas and stuff around this. I expect everything to be Open Source under OSS academic license, so anyone can use/fork/collaborate.

truedat101 commented 6 years ago

I've created a gitter for this, but I had to rename the project room because somebody already has dblockdhain ???!!!

https://gitter.im/blockchain-d/Lobby

truedat101 commented 6 years ago

Renamed the repository to https://github.com/IoTone/blockchain-d for the umbrella project.

pedroalvesbatista commented 6 years ago

@truedat101 Perfect, this could be the umbrella, very awesome.

Some of the basic ideas could be in a form of BIP-like issues, so people start to contributing.

I will fork the project and start this weekend playing around \o/

truedat101 commented 6 years ago

:brazil: :us: go go go

truedat101 commented 6 years ago

I'll keep this open until we've got at least one cryptocurrency/blockchain project that is fully functional and isn't a module of vibe-d.