Most people do not need to re-create a set of blockchain, but based on the existing blockchain underlying platform to develop their own applications, for similar encryption algorithms, peer-to technology, consensus algorithm and so on only need to have a basic understanding can be, temporarily do not need in-depth research. In the text, there are three main blockchain underlying platforms: Bitcoin, Ethereum, and Super Ledger fabric, as well as the application development language on these platforms. Bitcoin Blockchain development
The earliest blockchain development was based on the Bitcoin blockchain network, which is the most widely used and truly meaningful de-centric application in the world, so there are a lot of blockchain technologies around Bitcoin, not described here, only for introductory development.
There are two ways to develop blockchain based on Bitcoin, a relatively simple, blockchain.info-based API for development. Blockchain.info is Bitcoin's most popular Bitcoin wallet and chunk search site, while also providing bitcoin and its chunk-related APIs. Blockchain.info provides a wide range of API libraries for mainstream languages, including bitcoin wallets, payments, chunks, transaction data, market data, and more.
Installation and use of Blockchain.info API is relatively simple, first of all your machine needs to have NODEJS environment, in the Blockchain.info application Interface Authorization code, install Blockchain Wallet API Service program, You can start configuring and testing the Blockchain Wallet API service, and for further development, you can choose the Client Support library that installs the API based on your development language.
For further exploration, a Docker container can be used to quickly install and configure a private node's bitcoin test Network (bitcoin-testnet) as a development test environment, which allows for a deeper understanding, debugging, and use of the Bitcoin blockchain network. In bitcoin wiki page, provide many languages can call Bitcoin RPC, we choose the appropriate language specific to test, of course, Elwin still recommend you use Nodejs.
The process is to download the Docker image of the Bitcoin test network, run the Docker image and start the Bitcoin test network, initialize and test the blockchain data, and, of course, dig up the reserves for testing. Then, after installing the RPC Support library for the relevant development language, you can debug your blockchain program. Ethereum Blockchain Development
It can be said that in addition to Bitcoin, Ethereum is currently the most eye-catching in the blockchain platform. Ethereum is a full-fledged blockchain one-stop development platform that implements protocols in a variety of programming languages, using the Go language client as the default client (i.e., the method of interacting with the Ethereum network, which supports clients in many other languages).
The application based on the Ethereum platform is the smart contract, which is the core of Ethereum. Each smart contract has a unique address, which is activated when the user sends a transaction to the address of the contract (this time consumes fuel costs, that is, the fee), and then, based on the additional information in the transaction, the contract runs its own code and finally returns a result. The Ethereum community called the application based on smart contracts a decentralized app, with a friendly interface and some extra stuff, in contrast to the cold, smart contract code, with a full-fledged language, Allows users to build a variety of DAPP applications based on contracts, in fact, in the Ethereum app Pavilion, there are already large and small 280 dapp applications in the display (although only a part of the application is actually running).
There are several languages available to write the smart contract for Ethereum, there are JavaScript-like Solidity,python close to the serpent, there are classes of Lisp lll, the current mainstream is solidity, recommend everyone to use. Once the solidity contract is compiled and sent to the network, you can test and use the smart contract through Ethereum's mist client, or you can use the Ethereum web3.js JavaScript API to invoke it and build a Web application that interacts with it.
Thanks to Ethereum's visibility, many communities have developed more convenient DAPP development frameworks and tools, including Truffle, Embark, Meteor, and blockapps.net APIs so you can quickly develop your dapp. You can build your own ethereum private chain, build alliances with partners, or deploy applications directly to Ethereum's public network.
If you want to start learning Ethereum dapp development immediately, you can access the excellent online interactive tutorials provided by the network: Ethereum DAPP Real-development starter to Central e-commerce dapp real-development Super Ledger FARBRC Blockchain development
Fabric originated from IBM, the original intention in order to serve industrial production, IBM's 44,000 lines of code open source, is a great contribution, so that we can have the opportunity to explore the difference between Bitcoin's blockchain principle.
To be based on Hyperledger for blockchain development is simpler than imagination, there are two ways, one is based on Hyper-Cloud (IBM China Research Institute developed by the ultra-energy cloud platform to provide a variety of cloud services), it to the blockchain enthusiasts, developers of the blockchain development test environment, through the super-cloud platform, users can free, Super-Fast create multi-node blockchain based on Hyperledger fabric and debug smart contracts on your own chain. The Hyperledger fabric contract is based on the go language and is easy to get started with.
Another type of fabric is a blockchain network that builds its own fabric. There are several ways to install and run Hyperledge fabric, and it is recommended to download the Docker image of the fabric blockchain network, run the Docker image, and start the fabric blockchain network, but with respect to Bitcoin and Ethereum, The architecture and installation of the fabric network is relatively complex, and in addition to the Blockchain service, additional installations are required to run the validating peer and Certificate Authority (CA) services. When you're done, you'll need to register and register your authorization before you can debug and use it through the CLI or rest API. The smart contracts are written in the same way as the hyper-cloud blockchain cloud service. In addition, in addition to the CLI or rest API,IBM also provides the GRPC API and SDK for the way the application is developed.