SMART CONTRACTS & DAPPs

This section will have a basic overview of what dapps & contracts are and how they can be developed and deployed on Gather Blockchain.

SMART CONTRACTS

A smart contract is a self-executing contract with the terms of the agreement between buyer and seller being directly written into lines of code. The code and the agreements contained therein exist across a distributed, decentralized blockchain network. The code controls the execution, and transactions are trackable and irreversible.

Gather allows developers to create and deploy smart contracts on Gather Blockchain in the same way as Ethereum.

The two most active and maintained languages are:

DAPPs

A decentralized application (dApp) is a sort of distributed software that runs on a peer-to-peer (P2P) blockchain network rather than on a single computer. DApps resemble conventional software apps that run on a website or on a mobile device, but they are peer-to-peer. A decentralized application's essential functionality is represented via a smart contract. Smart contracts are building blocks that process data from external sensors or events and assist the blockchain in managing the status of all network actors.

Few popular frameworks that are generally used by blockchain engineers:

TESTING TOOLS AND LIBRARIES:

  • Ganache - A local blockchain that can be used for testing and development. Ganache creates unlocked, financed accounts and instantaneously mines fresh transactions. It also lets you do things like revert transactions and go ahead in time, which are useful when testing.

  • Brownie - a python framework for developing smart contracts. Python is an excellent choice for testing because of its simple, readable syntax.

  • OpenZeppelin Test Environment- Testing smart contracts is lightning quick. Setup just a single line for a fantastic testing experience.

DEPLOYING SMART CONTRACT

Requirements:

  • Contract's bytecode

  • GTH for gas

  • Deployment script or plugin

  • access to a Gather Node, either by running your own private node or connecting to a public node.

Steps to Deploy Smart Contracts

Depending on the tools you use, the particular processes will vary. Consider the Hardhat documentation on contract deployment or the Truffle documentation on networks and app deployment. These are two of the most common smart contract deployment tools, both of which need you to write a script to manage the deployment process.

Your contract, like other accounts, will have a Gather address once it is deployed.

Tools

  • Remix: Remix IDE allows developing, deploying, and administering smart contracts for Ethereum & Gather like blockchains

  • tenderly.co: Simulate, debug and monitor anything on EVM-compatible chains, with real-time data.

  • hardhat.org: A development environment to compile, deploy, test, and debug your Gather software

  • trufflesuite.com: A development environment, testing framework, build pipeline, and other tools.

Last updated