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 install
For Windows client:
make build-windows-client
To build the project:
make build
There 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-mig
To ensure all Go modules are downloaded:
make go-mod-cache
To verify dependencies:
make go.sum
To draw dependencies graph (requires Graphviz):
make draw-deps
To format and lint the code:
make format
To just lint the code:
make lint
*** Note: The prorobuf commands require Docker
To generate protobuf files:
make proto-gen
To format protobuf files:
make proto-format
To lint protobuf files:
make proto-lint
To check for breaking changes in protobuf files:
make proto-check-breaking
To clean build artifacts:
make clean
To perform a full clean including vendor directory:
make distclean
For more detailed usage, refer to the individual make targets in the Makefile.