To ensure you have a successful experience working with our modules, we recommend this technical setup.
Click the GitHub icon in the sidebar for GitHub integration and follow the prompts.
Clone the repos you work in
- Fork or clone the https://github.com/ignite/modules repository.
Internal Tendermint users have different permissions, if you're not sure, fork the repo.
To build the project:
Setup git hooks for conventional commit.
-
Install
pre-commit
-
Run the following command:
pre-commit install --hook-type commit-msg
-
(Optional for macOS users) Install GNU
grep
: -
Run the following command
brew install grep
-
Add the line to your shell profile:
export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"
Now, whenever you make a commit, the pre-commit
hook will be run to check if the commit message conforms Conventional Commit rule.
To build the modules node and command line client, run the make build
command from the project's root folder. The output of the build will be generated in the build
folder.
For cross-builds use the standard GOOS
and GOARCH
env vars. i.e. to build for windows:
GOOS=windows GOARCH=amd64 make build
To install the node client on your machine, run make install
command from the project's root directory.
💡 you can also use the default
go
command to build the project, check the content of the Makefile for reference
Run make test-all
command to run tests.
💡 you can also use the default
go
command to build the project, check the content of the Makefile for reference
To start a local blockchain, you can simply run the following command. The command uses Ignite CLI to start a local blockchain node with automatic reloading. If you don't have Ignite set up in your local machine, see this install guide to install it.
make localnet
A Swagger specification file is exposed under the /
route on the API server (port using 1317). Swagger is an open specification describing the API endpoints a server serves, including description, input arguments, return types and much more about each endpoint.
Enabling the /
endpoint is configurable inside ~/.modulesd/config/app.toml
through the api.swagger
field, which is set to true
by default.