C# is one of the most popular programming language developed by Microsoft. Now, C# and .NET Core framework are open source and growing at a faster pace.
Blockchain is platform and language agnostic. That means, you can use any popular programming language to create a blockchain. Some of the popular blockchains are developed using C++, Java, JavaScript, Go, Python, C#, Ruby, Solidity, and PHP.
You can create your blockchain using JavaScript but only some portions of it. A blockchain is a combination of several technologies including cryptography, distributed ledger technology, P2P network programming, database storage and sharing, network communication and notifications, backend services, UI components and so on. So building a complete blockchain product may require more than just one language.
Here is a list of resources that you may use to learn blockchain development in C#.
Blockchain Tutorial in .NET Core and C#
Building a Blockchain In .NET Core is a step by step tutorial series in which author has started blockchain at very basic and first introduced basic concepts and then slowly went into depth. A several parts series starts with introduction, followed by building a blockchain, implementing rewards and mining, and also building a P2P network and more.
Get started here: Build Basic Blockchain In .NET Core and C#
Simple Blockchain Sample In C#
A simple blockchain example in C# using SHA512 for hashing.
This lib can:
- Generate a block with data.
- Add that block to a chain (in this case a List)
- Create a hash for that block
- Create a hash based non a Nonce, a proof of work, or: mining a block.
- Validate that hash and the hash of a previous block
- Validate the whole chain
https://github.com/casparkleijne/blockchain
Stratisplatform
Stratis platform is a powerful and flexible Blockchain Development Platform designed for the needs of real world financial services and businesses. Stratis is a Bitcoin based project. Check out and download Stratis project from Github: https://github.com/stratisproject