Skip to content

TessorNetwork/Tessor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multichain Liquid Staking

Twitter | Discord | Website

What is Tessor?

Tessor is a blockchain ("zone") that provides liquidity for staked assets. Using Tessor, you can earn both staking and DeFi yields across the Cosmos IBC ecosystem. Read our "Meet Tessor" blog post to learn more about why we built Tessor.

Tessor is built using Cosmos SDK and Tendermint. Tessor allows users to liquid stake any IBC-compatible cosmos SDK native appchain token. Under the hood, Tessor leverages the Inter-Blockchain Communication protocol, Interchain Accounts and Interchain Queries.

How does Multichain Liquid Staking work?

Running a Mainnet Node

If you want to setup your node for the Tessor mainnet, find the relevant files and instructions here

Getting Started as a Developer

Developing on Tessor

Developers who wish to develop on Tessor can easily spin up 3 Tessor nodes, 3 Gaia nodes, 1 Hermes relayer and 1 interchain-queries relayer. The Gaia nodes simulate the Cosmos Hub (Gaia) zone in local development node, and the relayers allow Tessor zone to interact with that instance of Gaia.

The fastest way to develop on Tessor is local development mode.

Set up local development mode

Install the required git submodule dependencies (various chains, relayers, bats).

git submodule update --init --recursive

Build executables, initialize state, and start the network with

make start-docker build=sgjotr

You can optionally pass build arguments to specify which binary to rebuild

  1. s This will re-build the Tessor binary (default)
  2. g This will re-build the Gaia binary
  3. j This will re-build the Juno binary
  4. o This will re-build the Osmo binary
  5. t This will re-build the Stargaze binary
  6. r This will re-build the Go Relayer binary
  7. h This will re-build the Hermes binary

Example: make start-docker build=sg, this will:

  • Rebuild the Tessor and Gaia binaries
  • Start 1 Tessor and 1 Gaia node in the docker
  • Start Relayers

To bring down the chain, execute:

make stop-docker

To test the chain with a mnemonic that has tokens (e.g. sending Tessor transactions), you can use the VAL_MNEMONIC_1, which is

close soup mirror crew erode defy knock trigger gather eyebrow tent farm gym gloom base lemon sleep weekend rich forget diagram hurt prize fly

This mnemonic will have tokens on every chain running locally.

Making changes to this repository

Summary

Add summary of the pull request here (E.g. This pull request adds XYZ feature to the x/ABC module and associated unit tests.)

Unit tests

To run unit tests for the whole project, execute: make unit-test To run unit tests for a particular module (e.g. the stakeibc module), execute: make unit-test path=stakeibc To run unit tests for a particular package (e.g. the stakeibc module), execute: make unit-test path=stakeibc/types To inspect unit test coverage, execute: make test-cover

Configure

Your blockchain in development can be configured with config.yml. To learn more, see the Starport docs.

Release

To release a new version of your blockchain, create and push a new tag with v prefix. A new draft release with the configured targets will be created.

git tag v0.1
git push origin v0.1

After a draft release is created, make your final changes from the release page and publish it.

Tessor's Technical Architecture

Users stake their tokens on Tessor from any Cosmos chain. Rewards accumulate in real time. No minimum. They will receive staked tokens immediately when they liquid stake. These staked tokens can be freely traded, and can be redeemed with Tessor at any time to receive your original tokens plus staking rewards.

On the backend, Tessor permissionly stakes these tokens on the host chain and compounds user rewards. Tessor lets users use your staked assets to compound their yields. Continue to earn staking yield, and earn additional yield by lending, LPing, and more. They can set their own risk tolerance in Cosmos DeFi.

Users can always redeem from Tessor. When they select "redeem" on the Tessor website, Tessor will initiate unbonding on the host zone. Once the unbonding period elapses, the users will receive native tokens in their wallets.

Attribution

Tessor is proud to be an open-source project, and we welcome all other projects to use our repo. We use modules from the cosmos-sdk and other open source projects.

We operate under the Apache 2.0 License, and have used the following modules from fellow Cosmos projects. Huge thank you to these projects!

We use the following modules from Osmosis provided under this License:

x/epochs
x/mint

We use the following module (marketed as public infra) from Quicksilver provided under this License:

x/interchainqueries

Relevant licenses with full attribution can be found in the subdirectories.