osmosis

module
v24.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2024 License: Apache-2.0

README

Osmosis

Banner!

GoDoc Go Report Card Version Lines Of Code GitHub Super-Linter Discord

As the largest DEX in the Cosmos, Osmosis is a source of liquidity for over 50 sovereign blockchains connected via IBC. Pioneering in its approach, Osmosis offers a dynamic trading and liquidity provision experience, integrating non-IBC assets from other ecosystems, including: Bitcoin, Ethereum, Solana, Avalanche, and Polkadot. Initially adopting Balancer-style pools, Osmosis now also features a concentrated liquidity model that is orders of magnitude more capital efficient, meaning that significantly less liquidity is required to handle the same amount of trading volume with minimal slippage.

As a true Layer 1 appchain, Osmosis has greater control over the full blockchain stack than traditional smart contract DEXs, which must follow the code of the parent chain that it is built on. This fine-grained control has enabled, for example, the development of Superfluid Staking, an extension of Proof of Stake that allows assets at the application layer to be staked to secure the chain. The customizability of appchains also allows implementing features like the Protocol Revenue module, which enables Osmosis to conduct on-chain cyclic arbitrage on behalf of OSMO stakers, balancing prices across pools while generating real yield revenue from this volume. Additionally, as a sovereign appchain, Osmosis governance can vote on upgrades to the protocol. One example of this was the introduction of a Taker Fee, which switched on the collection of exchange fees to generate a diverse yield from Osmosis volume and distribute it to OSMO stakers.

Osmosis is bringing the centralized exchange experience to the decentralized world by building a cross-chain DEX and trading suite that aims to interconnect all chains via IBC. To reach this goal, Osmosis hosts an ever-expanding suite of DeFi applications, including: lending/borrowing, margin trading, strategy vaults, perpetuals, fiat on-ramping, NFTs, stablecoins, etc.—all of the functionalities that centralized exchanges offer, and more, but in the trust-minimized environment of decentralized finance.

System Requirements

This system spec has been tested by many users and validators and found to be comfortable:

  • Quad Core or larger AMD or Intel (amd64) CPU
    • ARM CPUs like the Apple M1 are not supported at this time.
  • 64GB RAM (A lot can be in swap)
  • 1TB NVMe Storage
  • 100MBPS bidirectional internet connection

You can run Osmosis on lower-spec hardware for each component, but you may find that it is not highly performant or prone to crashing.

Documentation

For the most up to date documentation please visit docs.osmosis.zone

Joining the Mainnet

Please visit the official instructions on how to join the Mainnet here.

Thank you for supporting a healthy blockchain network and community by running an Osmosis node!

Contributing

The contributing guide for Osmosis explains the branching structure, how to use the SDK fork, and how to make / test updates to SDK branches.

LocalOsmosis

LocalOsmosis is a containerized local Osmosis testnet used for trying out new features locally. LocalOsmosis documentation can be found here

Directories

Path Synopsis
app
params
Package params defines the simulation parameters in the simapp.
Package params defines the simulation parameters in the simapp.
upgrades/v8/constants
package v8constants contains constants related to the v8 upgrade.
package v8constants contains constants related to the v8 upgrade.
client
cmd
ingest
sqs
simulation
executor
Package simulation implements a full fledged Cosmos SDK application used for executing simulation test suites.
Package simulation implements a full fledged Cosmos SDK application used for executing simulation test suites.
simtypes/simlogger
This package is a hack.
This package is a hack.
tests
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
x
cosmwasmpool
This file implements the poolmanagertypes.PoolModule interface
This file implements the poolmanagertypes.PoolModule interface
cosmwasmpool/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
cosmwasmpool/cosmwasm/msg
This file defines helpers for querying the cosmwasm pool contract from the cosmwasm pool module.
This file defines helpers for querying the cosmwasm pool contract from the cosmwasm pool module.
downtime-detector/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
gamm/pool-models/balancer
Package balancer implements weighted constant product AMMs, satisfying the AMM pool interface from x/gamm/types.
Package balancer implements weighted constant product AMMs, satisfying the AMM pool interface from x/gamm/types.
gamm/types
Package types is a reverse proxy.
Package types is a reverse proxy.
gamm/v2types
Package v2types is a reverse proxy.
Package v2types is a reverse proxy.
ibc-rate-limit/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
incentives
Incentives module provides general interface to give yield to stakers.
Incentives module provides general interface to give yield to stakers.
incentives/types
Package types is a reverse proxy.
Package types is a reverse proxy.
lockup/types
Package types is a reverse proxy.
Package types is a reverse proxy.
mint
The `mint` module is responsible for creating tokens in a flexible way to reward validators, incentivize providing pool liquidity, provide funds for Osmosis governance, and pay developers to maintain and improve Osmosis.
The `mint` module is responsible for creating tokens in a flexible way to reward validators, incentivize providing pool liquidity, provide funds for Osmosis governance, and pay developers to maintain and improve Osmosis.
mint/types
Package types is a reverse proxy.
Package types is a reverse proxy.
pool-incentives
The `pool-incentives` module automatically creates individual gauges in the `incentives` module for every lock duration that exists in that pool.
The `pool-incentives` module automatically creates individual gauges in the `incentives` module for every lock duration that exists in that pool.
pool-incentives/types
Package types is a reverse proxy.
Package types is a reverse proxy.
poolmanager/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
poolmanager/client/queryprotov2
Package queryprotov2 is a reverse proxy.
Package queryprotov2 is a reverse proxy.
protorev/types
Package types is a reverse proxy.
Package types is a reverse proxy.
superfluid
The superfluid module handles all logic in relation to the superfluid staking feature on Osmosis.
The superfluid module handles all logic in relation to the superfluid staking feature on Osmosis.
superfluid/types
Package types is a reverse proxy.
Package types is a reverse proxy.
tokenfactory
The tokenfactory module allows any account to create a new token with the name `factory/{creator address}/{subdenom}`.
The tokenfactory module allows any account to create a new token with the name `factory/{creator address}/{subdenom}`.
tokenfactory/types
Package types is a reverse proxy.
Package types is a reverse proxy.
twap/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.
txfees
The txfees modules allows nodes to easily support many tokens for usage as txfees, while letting node operators only specify their tx fee parameters for a single "base" asset.
The txfees modules allows nodes to easily support many tokens for usage as txfees, while letting node operators only specify their tx fee parameters for a single "base" asset.
txfees/types
Package types is a reverse proxy.
Package types is a reverse proxy.
valset-pref/client/queryproto
Package queryproto is a reverse proxy.
Package queryproto is a reverse proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL