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 buildTo install the node client on your machine, run make install command from the project's root directory.
💡 you can also use the default
gocommand 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
gocommand 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 localnetA 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.