The Xion Daemon is scaffolded off of CosmWasm/wasmd rather than being scaffolded with ignite in order to more easily achieve compatibility with the latest cosmos-sdk and CosmWasm releases.
- Prerequisites
- Installation
- Build
- Testing Prerequisites
- Testing
- Tools & Dependencies
- Linting
- Protobuf
- Cleaning
To install the xiond binary:
make installFor Windows client:
make build-windows-clientTo build the project:
make buildThere are various test targets available:
make test- Run unit testsmake test-all- Run all tests including unit, race, and coveragemake test-unit- Run unit testsmake test-integration- Run integration testsmake test-race- Run tests with race condition detectionmake test-cover- Run tests with coveragemake benchmark- Run benchmarks
You can run specific integration tests by using the following commands:
make test-integration-dungeon-transfer-block
make test-integration-mint-module-no-inflation-no-fees
make test-integration-mint-module-inflation-high-fees
make test-integration-mint-module-inflation-low-fees
make test-integration-jwt-abstract-account
make test-integration-register-jwt-abstract-account
make test-integration-xion-send-platform-fee
make test-integration-xion-abstract-account
make test-integration-xion-min-default
make test-integration-xion-min-zero
make test-integration-xion-token-factory
make test-integration-xion-treasury-grants
make test-integration-min
make test-integration-web-auth-n-abstract-account
make test-integration-upgrade
make test-integration-upgrade-network
make test-integration-xion-migTo ensure all Go modules are downloaded:
make go-mod-cacheTo verify dependencies:
make go.sumTo draw dependencies graph (requires Graphviz):
make draw-depsTo format and lint the code:
make formatTo just lint the code:
make lint*** Note: The prorobuf commands require Docker
To generate protobuf files:
make proto-genTo format protobuf files:
make proto-formatTo lint protobuf files:
make proto-lintTo check for breaking changes in protobuf files:
make proto-check-breakingTo clean build artifacts:
make cleanTo perform a full clean including vendor directory:
make distcleanFor more detailed usage, refer to the individual make targets in the Makefile.