We tend to keep an updated CONTRIBUTING.md
, which contains relevant setup and workflow
information about Gno. You can find it on the official Gno
repo, here.
To begin, clone the repository locally using the following command:
git clone https://github.com/gnolang/gno.git
To build and globally install local gno binaries, follow these steps:
Navigate to the ./gno.land
subfolder and execute:
make build && make install
Navigate to the `./gnovm`` subfolder and execute:
make build && make install
To run the entire local testing suite, execute the following command from the project root:
make test
This will execute the tests in the following project components:
- tm2
- gnovm
- gno.land
- examples
Before running *_test.gno
test files, ensure you have the gno binary installed. If not, follow the steps
in Building & installing binaries from gno.land
.
After installing the gno
binary, you can execute the gno command as follows:
gno --help
To test a specific package, run:
gno test path/to/package
Additionally, you might need to specify the path to the root-dir in the gno test command. This is the absolute path to the locally cloned gno repo. For example:
gno test --root-dir /Users/zmilos/Work/gno path/to/package
We use the golangci-lint
linter for both our CI and
local linting. Once you ensure it is installed, run the following
command:
make lint
As the local blockchain node runs, it creates on-disk temporary storage. To clear these subdirectories, run the following commands:
From the ./gno.land
subfolder:
make clean && make fclean