Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Nicolas Dorier on January 15, 2015, 06:36:33 PM



Title: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 15, 2015, 06:36:33 PM
Hello all,

I think that one of the way to make Bitcoin a success is to teach developers how to program it themselves, while keeping in mind the real problems they can fix with it.
Depending on public web API to do the heavy stuff is still useful, but oblige the user to look at the problem from someone else eyes.
It also block innovation, since users are stuck to what their API provider gives them, and provoke a mopya to the wild possibilities of Bitcoin.

I have way too much demand for work than I can give. However, I can spread what I know for free in a book.

My book is in public domain, and will be spread likely in 3 parts.
The first part is out now, and I am waiting for your feedback (and your work ! :))

In the book, you will find coding challenges that you need to resolve to get access to the next parts when they will be out.

The range of difficulty will go from "how to create a private key", "how to make you transaction by hand, and sending by hand" to "how Dark Wallet works", "How to implement coin shuffle", "how to implement a voting system with colored coins"

Website : http://blockchainprogramming.azurewebsites.net/ (http://blockchainprogramming.azurewebsites.net/)
Book link : https://aois.blob.core.windows.net/public/Blockchain Programming in CSharp.pdf (https://aois.blob.core.windows.net/public/Blockchain Programming in CSharp.pdf)

Nicolas,
Happy coding and make shit happens,


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: DeathAndTaxes on January 15, 2015, 07:20:24 PM
Looks interesting.  I will take a look this weekend. I like term "Blockchain Programming" BTW.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 15, 2015, 07:47:41 PM
Thanks, I think the first part might be easy for you.
The next parts 2 and 3 will go deeper though. I will release a hard cover when I finished all the parts. Will also be in the public domain.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: doof on January 16, 2015, 12:31:33 AM
Looks interesting.  I will take a look this weekend. I like term "Blockchain Programming" BTW.

Very nice.  Im about to socialize a MVC app that uses some of your code too :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 16, 2015, 12:44:23 AM
Looks interesting.  I will take a look this weekend. I like term "Blockchain Programming" BTW.

Very nice.  Im about to socialize a MVC app that uses some of your code too :)
Don't hesitate if you have question ;)

I just finished to write about the HD Wallet and Dark Wallet part. (I updated the ebook)
I'm glad I can finally explain Dark Wallet clearly !! (well... I hope... I don't know if anyone could understand the first article about it I did several month ago oO)

Reading my old article, is like reading an old code... I am not even sure I even did it.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Wopin on January 16, 2015, 08:20:11 AM
Hello all,

I think that one of the way to make Bitcoin a success is to teach developers how to program it themselves, while keeping in mind the real problems they can fix with it.
Depending on public web API to do the heavy stuff is still useful, but oblige the user to look at the problem from someone else eyes.
It also block innovation, since users are stuck to what their API provider gives them, and provoke a mopya to the wild possibilities of Bitcoin.

I have way too much demand for work than I can give. However, I can spread what I know for free in a book.

My book is in public domain, and will be spread likely in 3 parts.
The first part is out now, and I am waiting for your feedback (and your work ! :))

In the book, you will find coding challenges that you need to resolve to get access to the next parts when they will be out.

The range of difficulty will go from "how to create a private key", "how to make you transaction by hand, and sending by hand" to "how Dark Wallet works", "How to implement coin shuffle", "how to implement a voting system with colored coins"

Website : http://blockchainprogramming.azurewebsites.net/ (http://blockchainprogramming.azurewebsites.net/)
Book link : https://aois.blob.core.windows.net/public/Blockchain Programming in CSharp.pdf (https://aois.blob.core.windows.net/public/Blockchain Programming in CSharp.pdf)

Nicolas,
Happy coding and make shit happens,

Thankyou so much!! i will follow you to obtain next chapters!!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: fsb4000 on January 16, 2015, 04:07:09 PM
Thank you!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Madness on January 16, 2015, 09:40:39 PM
Finally , I was looking for such a thing but never really found anything on Csharp always C++ or Python or Java ;D glad to see someone working hard here to help others .
I will do my best to learn "blockchain" programming on C#  , Thanks for sharing useful eBook mate :) going to check it out for sure

~ Madness.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: mtbitcoin on January 18, 2015, 02:53:31 AM
Thanks man,

There are very few books in the .net framework for these topics


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: jdebunt on January 18, 2015, 08:46:51 AM
Just wrote up a small article about your book, which can be found here :

http://www.cryptoarticles.com/crypto-news/blockchain-programming-in-c-first-book-of-the-trilogy-available-on-public-domain

Looking forward to part two and three!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Madness on January 18, 2015, 10:31:34 AM
Just wrote up a small article about your book, which can be found here :

http://www.cryptoarticles.com/crypto-news/blockchain-programming-in-c-first-book-of-the-trilogy-available-on-public-domain

Looking forward to part two and three!

Nice , that's a pretty nice article mate you got some skills on writing dude ;D do you own that website ?
btw, make sure that his real name is Nicolas Dorier , It may be just a fake name you know .. not everyone use their real names on the internet certaintly not on Bitcoin world  ::)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: caga on January 18, 2015, 11:57:09 AM
Thanks, looking forward to read it :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 18, 2015, 07:11:29 PM
Just wrote up a small article about your book, which can be found here :

http://www.cryptoarticles.com/crypto-news/blockchain-programming-in-c-first-book-of-the-trilogy-available-on-public-domain

Looking forward to part two and three!

thanks a lot ! :)

Just wrote up a small article about your book, which can be found here :

http://www.cryptoarticles.com/crypto-news/blockchain-programming-in-c-first-book-of-the-trilogy-available-on-public-domain

Looking forward to part two and three!

Nice , that's a pretty nice article mate you got some skills on writing dude ;D do you own that website ?
btw, make sure that his real name is Nicolas Dorier , It may be just a fake name you know .. not everyone use their real names on the internet certaintly not on Bitcoin world  ::)

I'm using my real name here are some proof : http://www.nicolas-dorier.com/ (http://www.nicolas-dorier.com/), http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=6354608 (http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=6354608) and https://github.com/NicolasDorier (https://github.com/NicolasDorier)

If you need, I can create some links between these identities by editing stuff.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Madness on January 18, 2015, 08:14:36 PM
Just wrote up a small article about your book, which can be found here :

http://www.cryptoarticles.com/crypto-news/blockchain-programming-in-c-first-book-of-the-trilogy-available-on-public-domain

Looking forward to part two and three!

thanks a lot ! :)

Just wrote up a small article about your book, which can be found here :

http://www.cryptoarticles.com/crypto-news/blockchain-programming-in-c-first-book-of-the-trilogy-available-on-public-domain

Looking forward to part two and three!

Nice , that's a pretty nice article mate you got some skills on writing dude ;D do you own that website ?
btw, make sure that his real name is Nicolas Dorier , It may be just a fake name you know .. not everyone use their real names on the internet certaintly not on Bitcoin world  ::)

I'm using my real name here are some proof : http://www.nicolas-dorier.com/ (http://www.nicolas-dorier.com/), http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=6354608 (http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=6354608) and https://github.com/NicolasDorier (https://github.com/NicolasDorier)

If you need, I can create some links between these identities by editing stuff.


Woops , don't get me wrong man . I totally believe that it's your real name
I was just telling the guy that wrote the article to make sure it's your realname by asking "you" here on the forum , that's all ;D


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 18, 2015, 08:16:14 PM
Quote
Woops , don't get me wrong man . I totally believe that it's your real name
I was just telling the guy that wrote the article to make sure it's your realname by asking "you" here on the forum , that's all Grin
Well, there is no problem with that, it is a valid concern :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Mitchell on January 18, 2015, 08:21:08 PM
Blockchain Programming. Man, that is one baller name. I will definitely look into this later on!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: genjix on January 18, 2015, 08:33:04 PM
Well done! Glad to see you still working on your implementation. Very interesting and promising book.
BTW I've submitted the final stealth standard to Peter Todd ready for him to publish. There are some changes, but we'll have to wait for it to be published/reviewed. Here's the doc: https://github.com/genjix/bips/blob/master/bip-stealth.mediawiki


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 18, 2015, 09:28:06 PM
Well done! Glad to see you still working on your implementation. Very interesting and promising book.
BTW I've submitted the final stealth standard to Peter Todd ready for him to publish. There are some changes, but we'll have to wait for it to be published/reviewed. Here's the doc: https://github.com/genjix/bips/blob/master/bip-stealth.mediawiki

I overviewed the BIP, I don't see any breaking change about current version of Dark Wallet (the one published on the wiki), stealth address, prefix matching, key generations, OP_RETURN are always the same, am I right ?

Does multiple OP_RETURN will finally beb possible to batch more than one stealth payment in a transaction ?


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: jdebunt on January 18, 2015, 09:39:06 PM
Nice , that's a pretty nice article mate you got some skills on writing dude ;D do you own that website ?
btw, make sure that his real name is Nicolas Dorier , It may be just a fake name you know .. not everyone use their real names on the internet certaintly not on Bitcoin world  ::)

Ty for the kind words, and yes it is my own site :) (co-owned)

I used the name seeing as it was on the cover of the book as well :)

Looks like the article is quite popular tbh, 759 views so far (and counting) :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 18, 2015, 10:05:03 PM
Nice , that's a pretty nice article mate you got some skills on writing dude ;D do you own that website ?
btw, make sure that his real name is Nicolas Dorier , It may be just a fake name you know .. not everyone use their real names on the internet certaintly not on Bitcoin world  ::)

Ty for the kind words, and yes it is my own site :) (co-owned)

I used the name seeing as it was on the cover of the book as well :)

Looks like the article is quite popular tbh, 759 views so far (and counting) :)


Made me laugh when I saw your article with 60 vote + on reddit.

I announced it 3 days ago it has been completely ignored.
I guess that's the difference between a real good blogger and a nerd like me :D


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: jdebunt on January 18, 2015, 10:59:35 PM
Made me laugh when I saw your article with 60 vote + on reddit.

I announced it 3 days ago it has been completely ignored.
I guess that's the difference between a real good blogger and a nerd like me :D

Well I wasn't trying to steal your spotlight, I just wanted to raise some awareness about your book :)

But I'm glad it is getting some attention, we need more books like this :)

once the second and third book are available, please let me know via email (jdebunt@cryptoarticles.com) :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 18, 2015, 11:00:46 PM
Made me laugh when I saw your article with 60 vote + on reddit.

I announced it 3 days ago it has been completely ignored.
I guess that's the difference between a real good blogger and a nerd like me :D

Well I wasn't trying to steal your spotlight, I just wanted to raise some awareness about your book :)

But I'm glad it is getting some attention, we need more books like this :)

once the second and third book are available, please let me know via email (jdebunt@cryptoarticles.com) :)

Ahah no that's fine, I'm glad you managed to get attention, I'll send you a tip please give me your address. ;)
I did not managed to get the spotlight anyway, saying you stole it is far fetched. :D
I'll send you the mail. :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Meanotor on January 20, 2015, 05:57:52 AM
Just paid. I wish you had put a QR code so it could be scanned, I had to type in your wallet address.

Edit: i paid as soon as i got to the payment page, now that i am past i realize that i had to pay via exercise and OP_RETURN, I hope the outcome of you getting paid being the same in both methods makes both approaches valid ;)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: nextblast on January 20, 2015, 11:14:39 AM
Wow, nice job. Thank you for this excellent book, Nicolas Dorier.
I'm addicted to C# and I like the brilliant idea of blockchain. Now your book combined both of them. Am I dreaming?  :D :D ;D ;D

Looking forward for the last 2 parts!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 20, 2015, 12:35:55 PM
Just paid. I wish you had put a QR code so it could be scanned, I had to type in your wallet address.

Edit: i paid as soon as i got to the payment page, now that i am past i realize that i had to pay via exercise and OP_RETURN, I hope the outcome of you getting paid being the same in both methods makes both approaches valid ;)

The challenge is for the fun, the next part will be public anyway. (but those who managed to do the challenge will get it first... but since they will share it, it won't last long :))

I have seen you payment, if you want to do the challenge, I can refund it to you, and you send them back with the OP_RETURN.
Just give me a signed message I verify your are the owner of the address if you want the refund and try the challenge. (very easy)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: KillerTank on January 20, 2015, 10:04:06 PM
Not sure if this is the right place to post this question, but I need some help...

I just found this book, and I'm really excited to get started! I am familiar with Java and Visual Studio, but have ZERO C# experience. In visual studio, after I install the reference NBitcoin, the bitcoin keywords (Key, PubKey, BitcoinAddress... etc) are not highlighting as reserved/recognized keywords... Is there a step I am missing? The microsoft forum was completely useless...  :-\

I get this error when trying to debug:

Error   1   Cannot embed interop types from assembly 'f:\Bitcoin\ProgrammingBitcoin1\packages\NBitcoin.1.0.7.18\lib\net45\NBitcoin.dll' because it is missing either the 'ImportedFromTypeLibAttribute' attribute or the 'PrimaryInteropAssemblyAttribute' attribute   f:\Bitcoin\ProgrammingBitcoin1\packages\NBitcoin.1.0.7.18\lib\net45\NBitcoin.dll   ProgrammingBitcoin1

I switched the embed interop typse back and forth from true and false, but the keywords still don't highlight, and i get a different error for each keyword saying the namespace cannot be found.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Meanotor on January 20, 2015, 10:04:17 PM
No it's ok, if I paid for it and others will get it free I have no problem with that :)

Thanks again.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 20, 2015, 10:08:39 PM
Not sure if this is the right place to post this question, but I need some help...

I just found this book, and I'm really excited to get started! I am familiar with Java and Visual Studio, but have ZERO C# experience. In visual studio, after I install the reference NBitcoin, the bitcoin keywords (Key, PubKey, BitcoinAddress... etc) are not highlighting as reserved/recognized keywords... Is there a step I am missing? The microsoft forum was completely useless...  :-\

You need to include the "namespace" with the "using" keyword. (packages is java's equivalent)
Follow Channel9 videos for C# beginner, it is awesome. http://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners (http://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: fonzerrellie on January 20, 2015, 10:15:27 PM
right on, I was just talking with someone about this exact topic... I need to learn more... lol a lot more ;) and this could be a great start. I'll check it out for sure.

you should sell it in the gaiacoin app store (and any other coin with a built in app store) the more people that learn the better :D


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 20, 2015, 10:21:16 PM
right on, I was just talking with someone about this exact topic... I need to learn more... lol a lot more ;) and this could be a great start. I'll check it out for sure.

you should sell it in the gaiacoin app store (and any other coin with a built in app store) the more people that learn the better :D

You can do it, it is public domain. :)
It is far from being finished though. It only covered the first part which is yet the tip of the iceberg. Also, my english is not perfect it is under review.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: fonzerrellie on January 21, 2015, 12:02:28 AM
right on, I was just talking with someone about this exact topic... I need to learn more... lol a lot more ;) and this could be a great start. I'll check it out for sure.

you should sell it in the gaiacoin app store (and any other coin with a built in app store) the more people that learn the better :D

You can do it, it is public domain. :)
It is far from being finished though. It only covered the first part which is yet the tip of the iceberg. Also, my english is not perfect it is under review.

K, I'll keep that in mind while I'm reading it :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Peter R on January 21, 2015, 05:22:48 AM
You are a highly productive individual, Nicolas.  Congrats on the Blockchain Programming in C# book!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: techman on January 21, 2015, 03:18:30 PM
I am reading, thank you :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 21, 2015, 04:17:01 PM
Quote
No it's ok, if I paid for it and others will get it free I have no problem with that

Meanotor , since some other people sent some tips without OP_RETURN, I decided that I needed to show them some love on http://blockchainprogramming.azurewebsites.net/ (http://blockchainprogramming.azurewebsites.net/)
However, they are referred as "Lazy Donators". ;)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: mmortal03 on January 29, 2015, 11:51:20 AM
Thanks, this is great! Will donate soon!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Madness on January 29, 2015, 12:02:23 PM
Quote
No it's ok, if I paid for it and others will get it free I have no problem with that

Meanotor , since some other people sent some tips without OP_RETURN, I decided that I needed to show them some love on http://blockchainprogramming.azurewebsites.net/ (http://blockchainprogramming.azurewebsites.net/)
However, they are referred as "Lazy Donators". ;)

The book is pretty awesome and helpful to be honest . Do you mind if I write about it on my blog once I have sometime ? I will give you all the credit of course .
By the way , I wanted to ask you about the release of the second part is it anytime soon or it may some time ? :)

~ Madness.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 29, 2015, 04:45:25 PM
Quote
No it's ok, if I paid for it and others will get it free I have no problem with that

Meanotor , since some other people sent some tips without OP_RETURN, I decided that I needed to show them some love on http://blockchainprogramming.azurewebsites.net/ (http://blockchainprogramming.azurewebsites.net/)
However, they are referred as "Lazy Donators". ;)

The book is pretty awesome and helpful to be honest . Do you mind if I write about it on my blog once I have sometime ? I will give you all the credit of course .
By the way , I wanted to ask you about the release of the second part is it anytime soon or it may some time ? :)

~ Madness.

Hey, sure go ahead the value of my work increase every time someone shares it. (It is why it is free by the way ;))

I am writing the second part, I intend to release in beginning of March.
I will do some cool stuff with colored coins, and will connect to the network for more interesting stuff. I will also talk about SPV.

The last part, the third will go on more advanced topics like micro payment channels with OP_CHECKLOCKTIMEVERIFY, share coin, and how to implement a hub for asking transaction signature accross several participants. (multi sig or not)

By the way I updated the book several time since the beginning, so if you downloaded it long time ago, re download it to get the updated part.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: legendster on January 31, 2015, 04:36:54 AM
A very interesting and impressive step here Mr Nicolas, have you considered translating the currently published book and/or future ones into other languages ? is that even a possibility ?


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 31, 2015, 12:30:46 PM
A very interesting and impressive step here Mr Nicolas, have you considered translating the currently published book and/or future ones into other languages ? is that even a possibility ?
My time is better spent coding and writing about what I know, so I won't translate it myself, even in my own language.

However, since the book is public domain, if someone wants to do it and publish it himself commercially or not, I'm fine with it, as long as he gives me credits for as the author.

So the question is more : does a good translator will do it ? And I have no idea, but this is a possibility.
Also, the book will change a lot until I finished the 3 parts, so it does not make sense to start translating right now.

Even NBitcoin changes as I write. This is a funny thing that I find way to improve NBitcoin only when I write about it. When I struggle explaining some concept, most of the time, it forces me to refactor stuff in NBitcoin to explain more easily.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Madness on January 31, 2015, 12:35:49 PM
A very interesting and impressive step here Mr Nicolas, have you considered translating the currently published book and/or future ones into other languages ? is that even a possibility ?
My time is better spent coding and writing about what I know, so I won't translate it myself, even in my own language.

However, since the book is public domain, if someone wants to do it and publish it himself commercially or not, I'm fine with it, as long as he gives me credits for as the author.

So the question is more : does a good translator will do it ? And I have no idea, but this is a possibility.
Also, the book will change a lot until I finished the 3 parts, so it does not make sense to start translating right now.

Yeah , looking at the screenshots that you posted (if you took them your self) I will say you are from France probably .
I have no problem translating this eBook to be honest to Arabic,French (since it's in english right now) but I guess I will wait till the three parts comes out , I guess it will be a good timing because I will probably finish my studies and be in holiday once you finish the book . so just let me know .

~ Madness


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on January 31, 2015, 01:48:50 PM
Thanks a lot Madness, it will be definitively helpful.
I think the book will be in a stable state in July. (the three parts will be out before, but multiple corrections will be done)
And yes, I'm from france.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Madness on January 31, 2015, 01:56:37 PM
Thanks a lot Madness, it will be definitively helpful.
I think the book will be in a stable state in July. (the three parts will be out before, but multiple corrections will be done)
And yes, I'm from france.

Alright then , awesome because I finish my studies and I will be in holiday since 14 June if nothing changes till then .
Just hit me up (private message) once you finish them all ;) till then ... Good luck mate

~ Madness


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: brituspol on February 01, 2015, 09:09:40 PM
Good luck with your work.

While releasing the book, I hope you include all recent developments, techniques and concerns with crypto. I mean we're in Jan/Feb now. The book will be available on July. Best wishes.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: legendster on February 02, 2015, 03:49:13 PM
A very interesting and impressive step here Mr Nicolas, have you considered translating the currently published book and/or future ones into other languages ? is that even a possibility ?
My time is better spent coding and writing about what I know, so I won't translate it myself, even in my own language.

However, since the book is public domain, if someone wants to do it and publish it himself commercially or not, I'm fine with it, as long as he gives me credits for as the author.

So the question is more : does a good translator will do it ? And I have no idea, but this is a possibility.
Also, the book will change a lot until I finished the 3 parts, so it does not make sense to start translating right now.

Even NBitcoin changes as I write. This is a funny thing that I find way to improve NBitcoin only when I write about it. When I struggle explaining some concept, most of the time, it forces me to refactor stuff in NBitcoin to explain more easily.

Ok then, will send you a PM regarding this.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: wonderloops on February 03, 2015, 12:48:07 AM
Excellent job.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Wopin on February 03, 2015, 06:47:24 AM
Hello!!

The second part is out?

Thankyou


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on February 03, 2015, 12:36:40 PM
Hello!!

The second part is out?

Thankyou
Will be during the beginning of march, I'm currently writing it. :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: nextblast on February 04, 2015, 02:22:54 PM
Hello!!

The second part is out?

Thankyou
Will be during the beginning of march, I'm currently writing it. :)
That's good news, looking forward to the 2nd part.
I really enjoyed reading your work!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: cloverme on February 04, 2015, 11:39:10 PM
I'm not sure if you'll have this in your book or not, but one thing that seems to be missing from some of the .Net wrapper libraries are annotated examples for calling each of the supported API methods.  Often the Bitcoin wrappers will include a basic example of only 2-3 methods (say checking the balance), but will miss key examples for each of the critical JSON methods that the wrapper calls, like sending a transaction. Granted, you can always look through the class and try to determine how to correctly call the method with the required parameters. However, it's much easier to just look at a working example and then change what you need to in order to adopt into the code. 

I'm looking forward to the book!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: JPage on February 06, 2015, 12:07:11 AM
Hello all,
Nicolas,
Happy coding and make shit happens,
100% awesome.  You are the man (l'homme!).  1000s of cool things will be built on your great work.  Way to go Nicolas.  

Microsoft owes you bit time and they are idiots with growing intensity every day they don't send you a ton of money for promoting their platform. 


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: lontivero on February 06, 2015, 03:44:06 AM
Congratulations, Nicolas! I have to read it.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on February 07, 2015, 06:50:14 PM
I'm not sure if you'll have this in your book or not, but one thing that seems to be missing from some of the .Net wrapper libraries are annotated examples for calling each of the supported API methods.  Often the Bitcoin wrappers will include a basic example of only 2-3 methods (say checking the balance), but will miss key examples for each of the critical JSON methods that the wrapper calls, like sending a transaction. Granted, you can always look through the class and try to determine how to correctly call the method with the required parameters. However, it's much easier to just look at a working example and then change what you need to in order to adopt into the code. 

I'm looking forward to the book!

Thanks for the feedback, the RPCClient class has a good deal of easy to call methods. However, I also let exposed the JObject SendRequest("commandname", request), so people are not stuck when the RPC api evolve but not NBitcoin.
Moreover, with C# you can add your custom method to classes without modifying the source. (Extension methods)

The book does not focus on the APIs though. I focus on blockchain programming, the reason is that by knowing the basics, you can better evaluate all APIs by yourself, but also create your own if none fit your needs.

Hello all,
Nicolas,
Happy coding and make shit happens,
100% awesome.  You are the man (l'homme!).  1000s of cool things will be built on your great work.  Way to go Nicolas. 

Microsoft owes you bit time and they are idiots with growing intensity every day they don't send you a ton of money for promoting their platform. 

Thanks, actually the best medal I can get is people building cool services thanks to it.

Microsoft is doing better since the management shake up after Ballmer left.
They are doing awesome work again, and I like its community. (http://channel9.msdn.com/ (http://channel9.msdn.com/) show lots of the cool stuff)
I must say that I was not so optimistic in the past.

Quote
Congratulations, Nicolas! I have to read it
Hope you'll want to depend on it for the cool projects you are doing :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: coinpr0n on February 10, 2015, 12:55:01 AM
Hello all,

I think that one of the way to make Bitcoin a success is to teach developers how to program it themselves, while keeping in mind the real problems they can fix with it.
Depending on public web API to do the heavy stuff is still useful, but oblige the user to look at the problem from someone else eyes.
It also block innovation, since users are stuck to what their API provider gives them, and provoke a mopya to the wild possibilities of Bitcoin.

I have way too much demand for work than I can give. However, I can spread what I know for free in a book.

My book is in public domain, and will be spread likely in 3 parts.
The first part is out now, and I am waiting for your feedback (and your work ! :))

In the book, you will find coding challenges that you need to resolve to get access to the next parts when they will be out.

The range of difficulty will go from "how to create a private key", "how to make you transaction by hand, and sending by hand" to "how Dark Wallet works", "How to implement coin shuffle", "how to implement a voting system with colored coins"

Website : http://blockchainprogramming.azurewebsites.net/ (http://blockchainprogramming.azurewebsites.net/)
Book link : https://aois.blob.core.windows.net/public/Blockchain Programming in CSharp.pdf (https://aois.blob.core.windows.net/public/Blockchain Programming in CSharp.pdf)

Nicolas,
Happy coding and make shit happens,

Very much agree with your first statement. I don't program in C# (yet) but I'm happy to see books coming out on this subject.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Arnab biswas on February 10, 2015, 03:11:43 PM
I am highly intrested on programming and the bitcoin thing is making me dam crazy


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: NeuroticFish on February 10, 2015, 03:18:23 PM
For some reason I missed this thread until now. First thing: I downloaded the pdf.
I will read it, I will try to understand it. First thing I like: it's not too long!!

Big THANK YOU!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: tzpardi on February 11, 2015, 11:50:31 AM
Fantastic! There are millions of C# developers who have never learned and used anything else apart from the .NET platlform and C# and this book will be great for them.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: rfcdejong on February 17, 2015, 09:50:18 PM
Do you use ReSharper? I didn't look at your code yet, but if you don't use it you don't know what you miss. If you do use it, well you never want to work without it anymore!

Nice book anyway, i'm honest i scrolled thru it but it's great to see a book on C#, blockchain and your NuGet package.

But missing some "Red Shirts" :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: rfcdejong on February 17, 2015, 09:57:38 PM
Will you release the book in 'hard cover' instead of pdf?

Maybe by contacting o'reilly, dummies or any other tech book seller.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on February 17, 2015, 10:11:59 PM
Will you release the book in 'hard cover' instead of pdf?

Maybe by contacting o'reilly, dummies or any other tech book seller.

Someone is currently correcting the book and wants to publish it. (his name is Bill Strait)
Anyway, I will not do it myself. I prefer getting code and articles done.

Do you use ReSharper? I didn't look at your code yet, but if you don't use it you don't know what you miss. If you do use it, well you never want to work without it anymore!

Nice book anyway, i'm honest i scrolled thru it but it's great to see a book on C#, blockchain and your NuGet package.

But missing some "Red Shirts" :)

I don't use it. I tried in the past, multiple times, and it always resulted into crash and slowdown of visual studio.
Except for ReSharper, I'm a big fan of JetBrain. :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: rfcdejong on February 17, 2015, 10:19:51 PM
Offtopic:
Odd to hear someone doesn't like R#, it's really really good.
But i'm a fan of RedGate, i do like the ANTS profile tools..

Ontopic:
I never heard about Bill Strait and can't find much about it on google or bing, because that name is not unique at all..

I do like the private key, public key and hash being written about.
Perhaps i missed about it, but i couldn't find anything in dept technical background in there..
Ofcourse that isn't C# related :)

Something like this
https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on February 17, 2015, 10:34:58 PM
Offtopic:
Odd to hear someone doesn't like R#, it's really really good.
But i'm a fan of RedGate, i do like the ANTS profile tools..

Ontopic:
I never heard about Bill Strait and can't find much about it on google or bing, because that name is not unique at all..

I do like the private key, public key and hash being written about.
Perhaps i missed about it, but i couldn't find anything in dept technical background in there..
Ofcourse that isn't C# related :)

Something like this
https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses


I do not go in the details, but it will be far from basic, I want developers to understand bitcoin on the conceptual and developement level.
Knowing the details about how to transform an array of byte into a base58 does not unlock any potential for innovation.
Pure source code, wiki or Mastering Bitcoin of Andreas Antonopoulos are better suited for this kind of information.

Also, this is the first part of the book. The next one (should release beginning march) talk about building more complex transaction (multi sig, DW) and colored coins.
The third part will focus on advanced scenario like Coin Share and micro payment with OP_CHECKLOCKTIMEVERIFY.

The goal of this book is to give the basic knowledge for starting innovation on bitcoin without relying on someone's else public web API (like blockchain info)
Relying on an web API blocks innovation at the web API provider level, this is the congestion I want to burst.

The lack of product in the bitcoin space is not the fault of the core developers but of API providers that got life too easy, and a lack of teaching materials easing the learning curve. Bitcoin the protocol evolves faster than we are innovating.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: criptix on February 18, 2015, 12:55:45 AM
Hello all,

I think that one of the way to make Bitcoin a success is to teach developers how to program it themselves, while keeping in mind the real problems they can fix with it.
Depending on public web API to do the heavy stuff is still useful, but oblige the user to look at the problem from someone else eyes.
It also block innovation, since users are stuck to what their API provider gives them, and provoke a mopya to the wild possibilities of Bitcoin.

I have way too much demand for work than I can give. However, I can spread what I know for free in a book.

My book is in public domain, and will be spread likely in 3 parts.
The first part is out now, and I am waiting for your feedback (and your work ! :))

In the book, you will find coding challenges that you need to resolve to get access to the next parts when they will be out.

The range of difficulty will go from "how to create a private key", "how to make you transaction by hand, and sending by hand" to "how Dark Wallet works", "How to implement coin shuffle", "how to implement a voting system with colored coins"

Website : http://blockchainprogramming.azurewebsites.net/ (http://blockchainprogramming.azurewebsites.net/)
Book link : https://aois.blob.core.windows.net/public/Blockchain Programming in CSharp.pdf (https://aois.blob.core.windows.net/public/Blockchain Programming in CSharp.pdf)

Nicolas,
Happy coding and make shit happens,

Hello Nicholas,

Thanks for this awesome ebook! i will take a good look at and will comment when im finished with it :)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on March 02, 2015, 03:36:26 PM
Part 2 out https://bitcointalk.org/index.php?topic=973916 (https://bitcointalk.org/index.php?topic=973916) ;)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: pabitel on March 02, 2015, 05:01:13 PM
Thank you for this.

Once you've finished, you might want to consider creating an ebook out of it. You can put it up on Smashwords with a price of $0 and it will get distributed to most book retailers apart from Amazon.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: doof on March 04, 2015, 12:13:36 AM
Hi Nic,

I can't seem to send a transaction on the test network.  This code excuses without exception.  Any ideas?

Code:
                using (var node = NBitcoin.Protocol.Node.ConnectToLocal(NBitcoin.Network.TestNet))
                {
                    node.VersionHandshake();
                    NBitcoin.Transaction[] transactions = new Transaction[1];
                    transactions[0] = tx;
                    
                    //node.SendMessage(new NBitcoin.Protocol.InvPayload(transactions));
                    node.SendMessage(new NBitcoin.Protocol.TxPayload(tx));
                }

Tx = 0100000001b3efb3050cc144151f83d3caef74c7bfc88838effb9999e12f936c33839ccd7d00000 00048473044022057a1ecdd6377d25bdfcf06d97f71c6f75571f14371e55f45265a7c28a942386f 0220201732fefbcd3788b31ffbade0cd0f2785d510b9d1c84c570f8b4ec128d993bf01ffffffff0 358020000000000001976a91497422742f5c61fd2f3d3c2b2bc97ff85be8a541f88aca8def50500 000000434104d751b12b85ba098f5648723265bcf88754d8a96923b9524ca590bbaf1dad7b51526 b0d3355602b8fa8dbe6e396e7db4655a8c5dcc1e4f1b44b6e273f5389a0ffac0000000000000000 096a074f41010001140000000000

Note:  Tx passed the verification method, Debug.Assert(txBuilder.Verify(tx));


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on March 04, 2015, 12:28:12 AM
Why is it commented out ?

Quote
//node.SendMessage(new NBitcoin.Protocol.InvPayload(transactions));

Because you need it.

Another common error I've seen some people did is referencing the wrong Output.
In my example, I've checked precisely which coin I wanted to spend. (I think it was the first output of the previous transaction)
In you case, it might be the second coin of the previous transaction.

I have also checked you transaction, you are referencing a previous coin from 7dcd9c83336c932fe19999fbef3888c8bfc774efcad3831f1544c10c05b3efb3
This transaction is not confirmed nor in any mempool.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: doof on March 04, 2015, 01:33:55 AM
Why is it commented out ?

Quote
//node.SendMessage(new NBitcoin.Protocol.InvPayload(transactions));

Because you need it.

Another common error I've seen some people did is referencing the wrong Output.
In my example, I've checked precisely which coin I wanted to spend. (I think it was the first output of the previous transaction)
In you case, it might be the second coin of the previous transaction.

I have also checked you transaction, you are referencing a previous coin from 7dcd9c83336c932fe19999fbef3888c8bfc774efcad3831f1544c10c05b3efb3
This transaction is not confirmed nor in any mempool.

Commented out because I was trying with and without.

Hmm, all my test net coins where received months ago. 

Does part 2 of your book have a section on the tx builder?


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on March 04, 2015, 01:37:31 AM
Yes, the second part use TransactionBuilder a lot and have a part dedicated on the subject.

Quote
Hmm, all my test net coins where received months ago.  
This is false, check for yourself. 7dcd9c83336c932fe19999fbef3888c8bfc774efcad3831f1544c10c05b3efb3 do not exists, you are referencing a coin from a transaction that do not exists.

You can also check the log of bitcoin core to have more information, but right now your transaction can't possibly work with a coin that do not exist.
You made a mistake on the transaction id you are referencing.

I never saw had a bug with txBuilder.Verify(tx);
If it says it is well signed, then it is, your problem is with the input outpoint.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: doof on March 04, 2015, 05:53:59 AM
Yes, the second part use TransactionBuilder a lot and have a part dedicated on the subject.

Quote
Hmm, all my test net coins where received months ago.  
This is false, check for yourself. 7dcd9c83336c932fe19999fbef3888c8bfc774efcad3831f1544c10c05b3efb3 do not exists, you are referencing a coin from a transaction that do not exists.

You can also check the log of bitcoin core to have more information, but right now your transaction can't possibly work with a coin that do not exist.
You made a mistake on the transaction id you are referencing.

I never saw had a bug with txBuilder.Verify(tx);
If it says it is well signed, then it is, your problem is with the input outpoint.

Sorry to waste your time, not sure where that hash come form.  Triple checked and all is working now.

Will be sending a tip once I get paid :D


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: nopara73 on April 26, 2015, 05:44:03 AM
Hey guys, I've just encountered this problem, posted to stackoverflow.
Maybe someone knows what to do with it: http://stackoverflow.com/questions/29874122/nbitcoin-throws-invalidoperationexception-with-the-message-mac-hmacsha256-not


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on April 26, 2015, 02:13:19 PM
responded there.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: S4VV4S on April 29, 2015, 12:10:59 PM
Looks very interesting.
I will give it a read when I get a chance.

Thanks  :D



Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: dewdeded on July 19, 2015, 02:06:55 PM
Subbed. Have to learn in C# in my dayjob. I will buy this book, when I am able to understand it. Maybe in a year or so.

Will use this book as main goal/motivation to learn, improve and practice C#, so I can read and understand it.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on July 20, 2015, 09:17:54 AM
I don't think you need deep knowledge of C# for starting playing with it.

You don't have to buy, it is free on https://blockchainprogramming.azurewebsites.net/ (https://blockchainprogramming.azurewebsites.net/)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Scaccomatt0 on July 31, 2015, 06:37:45 PM
thanks man, there are just few books about bitcoin and blockchain development in c#
great job!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: dollarneed on April 10, 2016, 10:24:03 PM
Hi Nicholas, i just wanna say thanks for this awesome book, i just download it and i think it's pretty good to learn about bitcoin and blockchain as beginner like me, wanna spend my free time with it and maybe some cofee, thanks again


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: mmortal03 on April 11, 2016, 05:35:48 PM
Was this updated recently? It has a bit more material now than when it was originally updated with part II.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on April 19, 2016, 06:29:22 AM
Hi Nicholas, i just wanna say thanks for this awesome book, i just download it and i think it's pretty good to learn about bitcoin and blockchain as beginner like me, wanna spend my free time with it and maybe some cofee, thanks again
Thanks, don't forget to tip for my coffee too :o)

Was this updated recently? It has a bit more material now than when it was originally updated with part II.

I added parts about segwit recently.
But yes, I update it times to times. I don't always say it because it is always in small increments that does not make sense to announce individually, but after a while it stacks up to significant changes.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: dothebeats on April 19, 2016, 08:43:35 AM
Was getting my feet wet on C++ and C# lately after learning python. I'm always fascinated on creating a bitcoin-related mechanism that could potentially help (or in a more daring statement, be a part of bitcoin's src code) bitcoin's code. This book might help me get there. Watching the thread for future developments and update. Thanks, Nicolas.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: nopara73 on May 25, 2016, 07:23:01 AM
--UPDATE-- 
We have just moved the whole book to GitHub and fully revised it:

https://github.com/ProgrammingBlockchain/ProgrammingBlockchain


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: cpackman21 on June 04, 2016, 10:08:11 PM
I appreciate the effort you put into this book and making it free, I'll read through it and see what I can learn. Thank you.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Riberiy on June 04, 2016, 10:52:14 PM
thanks for sharing!


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: BellaBitBit on June 05, 2016, 05:37:39 PM
Thank you, you put a lot of effort into this and making it free is super great!  Marking for later learning.


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: karmenali on June 05, 2016, 06:22:53 PM
i want to learn bolckchain code and make app. How can I start and with which language "java , c++ , c# ... " which one is better and easy ?


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: dewildance on June 08, 2016, 05:33:58 PM
do you some materials for java if you share will be super


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Nicolas Dorier on June 19, 2016, 08:28:51 PM
do you some materials for java if you share will be super

No I don't. (reason: Java and bitcoinj sucks and are not portable)
Latest version of the book on gitbook https://www.gitbook.com/book/programmingblockchain/programmingblockchain/details (https://www.gitbook.com/book/programmingblockchain/programmingblockchain/details)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: Investing123 on June 22, 2016, 02:59:47 PM
Stratis (http://stratisplatform.com/) is working on a full node built on C# and building a platform to build apps using C# and Microsoft .NET framework.

ICO began yesterday. Check it out! (https://ico.stratisplatform.com/)


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: bitcoineverything on June 23, 2016, 01:25:20 PM
Hi! Thanks for sharing this book. I am reading it right now and it is definitely a good book. I am not a professional programmer but the book gives me more knowledge about the blockchain technology with c# programming.😀


Title: Re: Book release : Blockchain Programming in C# (Part 1)
Post by: jasonv75 on July 08, 2016, 03:50:02 PM
Have been examining blockchain development seriously, I'll for sure check this book out!