.NET Dash Library (Creation and Maintenance)

Chadrick

New Member
Mar 22, 2017
15
11
3
46
Want to put this out here to start the discussion. Not sure what is going to happen with the DAPI and doing more research as time permits.

Summary:
This proposal is to fund the creation and maintenance of "nDash". nDash will be an open source .net library for programming with the Dash blockchain and a tutorial GitBook similar to "Programming the Blockchain". There is already an existing project "nbitcoin" for .net developers. It was created by the folks from MetacoSA. We would contract with the developers of this library to collaborate with a group of us .net developers within the dash community (any community .net devs would be welcome) and begin building the dash version.

https://github.com/chadrickm/proposal-dash-community/blob/master/dot-net-lib-proposal.md

Pros/Cons/Thoughts...
 

ampp

Member
Feb 12, 2017
184
75
88
USA
I have programming experience but don't consider myself a programmer. Here is what came to mind.

1. How significant of a need is there for it.
2. Is it something the core team would want to manage at some point?
3. Is this likely to be done by a volunteer.
4. Who uses nbitcoin now?
5. Could projects with nbitcoin code be converted to dash quicker.
6. Wouldn't a large amount of nbitcoin code be compatible with dash already.
7. Was nbitcoin paid for? Who paid to develop it? etc

Sounds like you want to gauge the response before reaching out to MetacoSA. Seems like it might just depend on the details that come out. I have a feeling that most people here they might want to see some dash developer input before voting yes.
 
  • Like
Reactions: lynx

Ron

New Member
Masternode Owner/Operator
Mar 3, 2016
6
5
3
I think this could have value and help with 3rd party integrations.
Some input from one of the core-devs about the points raised by ampp (and the impact of Dash Evolution on such an API) would be helpful. They probably are best placed to assess the differences and similarities of Bitcoin Vs Dash for this kind of API.
Maybe @UdjinM6 (or another dev) can share his points of view?
 

lynx

Active Member
Dec 11, 2015
364
250
133
Sounds interesting, but I fear (hope) the DAPI will made it obsolete, and there wouldn't be much time for this project to bring fruits.
I'm also curious about what are the answers to @ampp 's questions.
 

Chadrick

New Member
Mar 22, 2017
15
11
3
46
Sounds interesting, but I fear (hope) the DAPI will made it obsolete, and there wouldn't be much time for this project to bring fruits.
I'm also curious about what are the answers to @ampp 's questions.
I think we would have to wait until DAPI to see how important this could be. Even if there is a REST API, a wrapper for other languages and a good .net Nuget packaged library would still be beneficial. The DAPI is not expected until fall of this year. So we wait and watch it closely while we continue to learn.
 

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
3 years ago I forked bitcoinj, which is the Java library for Bitcoin, to Dash. The hashing and difficulty algorithms were easy to translate, while the InstamtSend code was more difficult.

A key question is now useful will the .Net be? What software will use it? What is the market share of windows phone?

When evolution comes out and goes mainstream, will there be some users who want to stay with using protocol level apps and software? Probably some, perhaps not many. However there still may be some useful functionality that would come out of a .Net implementation. Integration into games may be better with .Net or Java than the DAPI.

When DAPI is released there may be much work to do as far as making libraries in all the languages. Parts of the net or Java libraries still might be useful for that as well.
 

JZA

Active Member
Jan 4, 2016
516
226
113
Cancun
alexandro.biz
Dash Address
XmZ3aBBWJdYa6hUJkWbTvwHMwMscmHQFNH
I think is important to make more of these library tools on popular languags like Go and Python. Would love to spend some hours with the source once they are done and see if I can get some Go action.
Vitalik bitcoin-tools is a good development for most blockchain related things. Wonder if you will be basing your work on his development.
 

DanMik

New Member
May 7, 2017
2
1
3
39
I'm a programmer, and in my mind its really important to have as many libraries as possible in every programming language imaginable, if DASH should continue to grow to one of the biggest cryptocurrency used on the market, which I believe every DASH supporter hopes for.
Its not enough to just grow internally, but just as important with 3rd party applications from people with great coding skills and an interest in DASH and its underlying framework, as these will give a whole new range of application to a broad as possible number of operating system (phones, pc, mac, hardware wallets, Asic miners, websites, POS systems, etc..)

Building a desktop wallet for DASH f.ex should be doable one might think, but instead the available apps are only a few besides the entire core, and some could use an interface update or better yet, some brand new alternatives built from scratch by others with a new and different perspective on how the perfect wallet software should be.
This is where libraries for as many programming languages as possible come in. Even with Bitcoin, which have a lot of libraries for many different languages, there isn't really that many great wallets available with advanced features or just a new futuristic looking interface, which probably is due to this lack of good usable libraries and documentation thereof.
I have been preparing myself for building a Bitcoin/Litecoin wallet for quite some time now, and haven't gotten to the programming until now, as the documentation and libraries are usable, but mostly confusing and undocumented. And worse yet, there isn't a library for visual basic .NET, which then became the language I wanted to make an open source application in, due to this lack of guides, documentation and libraries, and therefore my goal instead became to make a project which could be used to make others learn the technology much easier through this simple language (and then I would build it in C later on, but keep the VB available on github + on my blog with articles and guides).
The NBitcoin lib is available for .NET and created in C#, but still it isn't that easy to use, that a programmer would be able to just sit down and start coding a functional wallet app. There is a lot of undocumented properties, technology you need to spend hours learning by reading tons a different articles/documents - and this is how it is for most of the available libs.

This is probably also why there isn't really any stand alone wallet apps (without a server connected somehow to act as the blockchain communication), and it could really be time for an update on many of these older ones.
I hope DASH is a little easier to work with, as it might be something of interest to look into coding software applications for afterwards (or maybe same time).
 
  • Like
Reactions: MangledBlue

acidburn

Active Member
May 26, 2014
467
175
113
And what's even better is if it's written with .Net core it will work on all platforms within reason


Sent from my iPhone using Tapatalk
 
  • Like
Reactions: MangledBlue

DanMik

New Member
May 7, 2017
2
1
3
39
And what's even better is if it's written with .Net core it will work on all platforms within reason
That's not really how .NET works. :/
It can run on Linux through "Mono", which is a project that has taken massive ressources to emulate windows .NET platform, and on MAC if you install windows.

But there are some very good programming IDE alternatives that can compile to all these platforms with the same code. And there is of course the solution of just going with C with a little High level assembler for speed :)