Overview
The Terp Mission
The mission of Terp Network is simple, to ensure that there is undoubtable access & sovereignty to shape how we collaborate with each other in a techological world.
The nature of the software Terp Network 'speaks', supports a feature-dense ecosystem, that can be interoperable with other feature-dense ecosytems, and exists as an option for cannabis communities to decide how to experiment, customize, and participate.
Architectural Overview
Open Source Software
Terp Network is Open Source Software (OSS), which means that 100% of the code used is not hidden and public for review, and versions released are able to be verified without the need to trust any single entity. To learn more about OSS and the tradeoffs it can provide, click here.
Modular Composability
Terp Network is powered by modules, each serving a specific use-case or function. These modules, like lego-blocks, are able to be assembled together to create new functions available! These modules are currently built based on the standard of the Cosmos-SDK, a framework for building custom blockchain applications, and is how Terp Network will continue to evolve its feature set over time.
Modules
- Authorization - granular permission grants for accounts, which is very useful for multi-faceted systems.
- CosmWasm - rust based smart contracts.
- Distribution - distribution of block rewards to delegators.
- FeeGrant - share fees generated by apps built on-chain, as they are used by others.
- Governance - modules like
x/gov
&x/group
bring voting capabilities on chain for both the chain itself & individuals. - IBC - Inter-Blockchain Communication protocol that enables asset transfers across Cosmos blockchains.
- Minting - Responsible for minting tokens and managing inflation.
- Staking - Staking on Terp Network quite literally is how the network is secured, and those who are securing the network (delegators) get rewarded.
- Slashing - Programmed disincentive module for bad actors on Terp Network.
In addition to using the predefined Cosmos modules, Terp Network employs custom modules for additional network features:
- Clock - This module allows smart contracts to execute logic at the end of every block without an external bot.
- Drip - This module allows specific addresses (usually smart contracts) to send tokens to the fee_pool module in order to perform a live airdrop
- Feeshare - This module shares contract execution fees with the smart contract developers, creating additional layers of potential revenue streams for teams & smart contract deployers.
- Global Fee - A module that sets a minimum fee across all transactions.
- IBChooks - This module allows incoming token transfers to call a function on any smart contract.
- Packetforward Middleware - Allows complex, multi-chain transfers with 1 tx.
- Tokenfactory - The tokenfactory module allows any account to create a new native denom.
Smart Contracts
Smart contracts create the layer where custom functions can be quickly added and verified by community members. CosmWasm contracts are supported on Terp Network, and use Rust as its primary software language.
IBC Protocol - Inter Blockchain Communication
The Inter-Blockchain Communication Protocol IBC is how Terp Network community can confidently perform complex, multi-chain actions.
IBC provides a permissionless way for relaying data packets between blockchains. Data packets that are relayed between blockchains often include data that triggers state changes on the destination chain; whether it be a smart contract call to perform an action, or sends tokens to a destination address, IBC creates true protocol interoperability. The following examples are powered by IBC on Terp Network:
Packet-Forward-Middleware (PFM)
Allows complex, multi-chain transfers with 1 tx.
IBC-Hooks
Allow ICS-20 token transfers to initiate contract calls. This powers cross-chain contract calls, that involve token movement.
Interchain Queries
Enables on-chain applications to query the state of other chains seamlessly: without involving the queried chain, and requiring very little from the querying chain.
Interchain Accounts (ICA)
Interchain accounts, or ICA: allow for a chain, a module, or a user on that chain to programmatically control an account (the interchain account) on a remote chain.
Interchain Security (ICS)
Enables other blockchains to be secured through Proof-of-Stake (PoS) by the TERP tokens
All of these technical features are infused together in such a way where additional opportunities for ourselves and our communities exist with other sovereign ecosystems that support IBC.
Economic Overview
Block Reward Inflation
The overall inflation rate on the Terp network follows the model of the mint module in the Cosmos Hub. The Terp Network protocol then shares a portion of these total inflation rewards directly to the community pool. These distribution values are parameters that can be adjusted by the community of Terp Network, through network governance. Inflationary rewards are paid out by the network on a per-block basis.
Smart Contract Fees
Buisiness models can be programmed into smart contracts, creating sustainable opportunities for those creating useful tooling available on the network. Various features like sharing fees that are incurred from use of contract with others, programming service fees, all are viable methods of token accrual by making use of smart contracts on Terp Network.
License & Registration Fees
All governance approved license and registration fees required can be programmed to be distributed and allocated as needed.