If you’re not familiar with peculiar terms such as smart contracts or blockchain technologies, that’s fine. We are here to help.
The one thing you need to know is that blockchain technology can minimizethe amount of trust required by any single actor in the system.
So what are Smart Contracts? Well, Smart Contracts are just like regular contracts but the only difference is that they are completely digital. Because Smart Contracts are stored on a Blockchain, they inherit some interesting properties: They are immutable and they are distributed.
Immutable: That means that once a Smart Contract is created it can never be changed again. So no one can go and tamper with the code of your Contract
Distributed: That means that the output of your contract is validated by everyone in the network. So a single person cannot force an outcome of a contract because other stakeholders on the network will spot this attempt and will invalidate the contract.
What is the purpose of a Smart Contract?
Smart contracts rely on blockchain technology and they help us to exchange money, property, shares, data, or anything of value in a transparent, conflict-free way while avoiding the services of a middleman.
Smart contracts are account for holding objects on the blockchain. They contain code functions and can interact with other contracts, make decisions, store data, and send ether to others.
Contracts are defined by their creators, but their execution, and by extension the services they offer, is provided by the blockchain itself. They will exist and be executable as long as the whole network exists, and will only disappear if they were programmed to self destruct.
What is Smart Contract Designer?
Smart Contract Designer is the module used to create Smart Contract functions and generate the Smart Contract.
It uses the Data Model defined to generate the Smart Contract Data Model (assets)
It enables a graphical diagram tool for creating a logic schema of the function
Contains diagram blocks (nodes) such as:
Declare - to declare function scoped variables
Assign - to assign a value to a variable;
If - to split the function path based on a condition
For, While, Do While - to create loops
Expression - to insert custom code for a more complex functionality
Giving Blockchain a Face
Blockchain implementation inside the platform is based on continuous collaboration between IT and LOB
Business users can draw a holistic picture of the process combining both off-chain and on-chain activities
Using the provided requirements and recommendations, IT can configure blockchain specific functions inside the Smart Contract designer module
The platform encourages reuse by using the same implemented functions for writing/reading data from the ledger throughout the process based on the Smart Contract rules
The Technology behind Smart Contracts
The generation of a SC is done by using a specific template for each type of blockchain and the created SC data structure, which includes blockchain structure models and SC functions.
The templates used for generating a SC are Free Marker templates and contain macros defined which are parsing the data received and generate portions of source code. Those pieces of source code at the end come together and form the SC source code (Go Lang).