aegis

module
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2025 License: MIT

README

Aegis Chain

Aegis Chain is a Layer 1 blockchain in the Pell ecosystem, featuring dual compatibility with CosmWasm and EVM virtual machines. It enables omnichain capabilities, generic smart contracts and cross-chain messaging between any blockchain.

Prerequisites

  • Go 1.23.2
  • Docker and Docker Compose (optional, for running tests locally)
  • buf (optional, for processing protocol buffer files)
  • jq (optional, for running scripts)

Components of Aegis Chain

Aegis Chain is built with Cosmos SDK, a modular framework for building blockchain and Ethermint, a module that implements EVM-compatibility.

  • aegis (this repository) contains the source code for the Aegis Chain node (aegisd) and the Aegis Chain relayer (aegisclientd).
  • protocol-contracts contains the source code for the Solidity smart contracts that implement the core functionality of Aegis Chain.

Building the pellcored/pellclientd binaries

For the Ignite testnet, clone this repository, checkout the latest release tag, and type the following command to build the binaries:

make install

to build.

This command will install the pellcored and pellclientd binaries in your $GOPATH/bin directory.

Verify that the version of the binaries match the release tag.

pellcored version
pellclientd version

Making changes to the source code

After making changes to any of the protocol buffer files, run the following command to generate the Go files:

make proto

This command will use buf to generate the Go files from the protocol buffer files and move them to the correct directories inside x/. It will also generate an OpenAPI spec.

Generate documentation

To generate the documentation, run the following command:

make specs

This command will run a script to update the modules' documentation. The script uses static code analysis to read the protocol buffer files and identify all Cosmos SDK messages. It then searches the source code for the corresponding message handler functions and retrieves the documentation for those functions. Finally, it creates a messages.md file for each module, which contains the documentation for all the messages in that module.

Running tests

To check that the source code is working as expected, refer to the manual on how to run the E2E test.

Community

Twitter | Discord | Telegram | Website

Directories

Path Synopsis
app
cmd
pellclientd command
pellcore_utils command
pellcored command
pelle2e command
pelltool command
contrib
rpctest command
e2e
pkg
bg
Package bg provides primitives for the background tasks
Package bg provides primitives for the background tasks
gas
retry
Package retry provides a generic retry mechanism with exponential backoff.
Package retry provides a generic retry mechanism with exponential backoff.
rpc
ticker
Package ticker provides a dynamic ticker that can change its interval at runtime.
Package ticker provides a dynamic ticker that can change its interval at runtime.
relayer
chains/evm/observer/handler
staker_delegated.go
staker_delegated.go
chains/evm/signer
Package signer implements the ChainSigner interface for EVM chains
Package signer implements the ChainSigner interface for EVM chains
db
Package db represents API for database operations.
Package db represents API for database operations.
hsm
metrics
Package metrics provides metrics functionalities for the pellclient
Package metrics provides metrics functionalities for the pellclient
ratelimiter
Package ratelimiter provides functionalities for rate limiting the cross-chain transactions
Package ratelimiter provides functionalities for rate limiting the cross-chain transactions
tss
rpc
testutil
nullify
Package nullify provides methods to init nil values structs for test assertion.
Package nullify provides methods to init nil values structs for test assertion.
x
authority/types
Package types is a reverse proxy.
Package types is a reverse proxy.
emissions/types
Package types is a reverse proxy.
Package types is a reverse proxy.
lightclient/types
Package types is a reverse proxy.
Package types is a reverse proxy.
pevm/types
Package types is a reverse proxy.
Package types is a reverse proxy.
relayer/types
Package types is a reverse proxy.
Package types is a reverse proxy.
restaking/types
Package types is a reverse proxy.
Package types is a reverse proxy.
xmsg/types
Package types is a reverse proxy.
Package types is a reverse proxy.
xsecurity/types
Package types is a reverse proxy.
Package types is a reverse proxy.

Jump to

Keyboard shortcuts

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