Chain Core is a blockchain management software developed by Chain Inc. in 2014. The software is designed to manage the permissioned blockchain networks. The chain core can manage any number of independent blockchains or it acts as a blockchain client for different permissioned blockchains. Chain core keeps the copy of the ledgers of multiple blockchains and updates these ledgers during the validation of transactions. The validation and consistency in Chain core are ensured by a Federation of block signers. Here any digital assets including digital currencies, securities, bonds etc. are issued in a common format and represented using any units of value guaranteed by the trusted issuer
There are two editions of Chain core available. A Free Open Source Developer edition and an Enterprise Edition. The Developer edition can be used to test and make prototypes. The Enterprise Edition is essential to develop and deploy the original product based on this prototype.
The leading financial service firms like Visa, Citi group etc. are working with Chain core to develop their blockchain infrastructure.
As an open source now let’s make a deep look at the Chain core developer edition.
Chain core Developer edition available for Linux, Mac and Windows operating systems
Download & Installation
The executable files for Mac, Windows, and Linux of Chain Core is available at Chain.com
1. Add chaincore/developer image to Docker container
$ docker create -t -p 1999:1999 chaincore/developer:ivy-latest
blockchainexpert@blockchainexpert:~$ docker create -t -p 1999:1999 chaincore/developer:ivy-latest
2. Start the created docker container (copy the container id from the terminal)
$ docker start -i <CONTAINER_ID>
Copy the whole line below:
(Copy the whole line at the end of the terminal for login purpose)
3. Open the port in browser where core is running
$ <browser> localhost:1999
Just paste the login id that copied earlier in the login form and continue.
There are basically three operations available in the software.
1. Create a blockchain.
This option is for creating a new blockchain. The chain core act as a block generator as well as a block signer in the created network. The core provides an url and a blockchain id for the created network. The id and url are useful when another core is going to join this network.
2. Connect to an existing Blockchain network
This option enables a core to connect to an existing network. A user must have a blockchain url, a blockchain id, and an active access token for managing the transactions and digital assets.
3. Connect to the test blockchain network
This option is basically oriented to beginners. They may join the blockchain network of chain core and test the blockchain network by making basic operations like account creation, transaction, digital asset management etc.
Development & Security
The chain core application can be developed with Java, node.js, or Ruby. The respective packages and APIs are available in respective repositories. Chain core uses HSM (Hardware Security Module) for a production environment. Compared to other platforms this approach provides a better security standard for the digital assets.
Chain core uses private & public key pairs for the locking and unlocking of assets. Assets are always loaded with a control program. The transactions are verified by running these control programs along the data (public key). If it produces a valid result then the transaction is declared as valid. Using multiple keys for transactions will improve the level of security.
Ivy and Ivy Playground
Ivy is the high-level programming language developed by Chain for creating smart contracts in Chain core. The Ivy playground is an additional tool to create, compile and load the smart contract that can be run along the core.
As the number of blockchains is being created for different purposes, the importance of a tool like the core is evident. The security features like HSM and simplicity in blockchain management
makes core an appropriate option for blockchain management.