774e2efce8
* chore(lint): Update local make lint to match CI This updates the `make lint` behavior to match the command being run in CI. In addition, we refactor the make lint command to use docker in order to to ease cross platform install, use a local build cache that integrates with make clean, use the same version file, and encapsulate the logic in its own make include. We also remove the old lint logic as to not introduce a duplicate target and avoid confusion from a difference in behavior. While solutions like act for running github actions locally work, it is not as straightfoward, is slower, and uses the local git repository instead of a clone (though I am not sure how the checkout step works within act). * fix(lint): Use shared timeout with .golangci.yml Instead of using a local and different timeout in the lint makefile target we can rely on golangci to load this configuration from .golangci.yml instead and share this setting with CI. * fix(lint): Fix golangci-lint cache mount path This uses the correct cache dir default of ~/.cache enabling use of cache between lint calls. * fix(lint): Fix lint caching This includes a couple fixes - 1) It adds support for full caching of go mod and go build, speeding up the lint process quite a bit. And 2) does not mix lint cache with make clean files -- the docker container creates root owned files that cause make clean to error and we choose not to require make clean to run with higher permissions. The cache must be deleted manually. |
||
---|---|---|
.github | ||
app | ||
build | ||
ci/env | ||
cli_test | ||
client | ||
cmd/kava | ||
contracts | ||
contrib | ||
docs | ||
migrate | ||
networks/local | ||
proto | ||
tests | ||
third_party/proto | ||
x | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
.golangci-version | ||
.golangci.yml | ||
.mockery.yaml | ||
.tool-versions | ||
buf.work.yaml | ||
CHANGELOG.md | ||
docker-compose.yml | ||
Dockerfile | ||
Dockerfile-rocksdb | ||
Dockerfile-rocksdb-base | ||
go.mod | ||
go.sum | ||
hard.svg | ||
kava-logo.svg | ||
LICENSE.md | ||
Makefile | ||
prometheus.docker-compose.yml | ||
prometheus.yml | ||
README.md | ||
swp.svg |
Reference implementation of Kava, a blockchain for cross-chain DeFi. Built using the cosmos-sdk.
Mainnet
The current recommended version of the software for mainnet is v0.26.0 The master branch of this repository often contains considerable development work since the last mainnet release and is not runnable on mainnet.
Installation and Setup
For detailed instructions see the Kava docs.
git checkout v0.26.0
make install
End-to-end tests of Kava use a tool for generating networks with different configurations: kvtool.
This is included as a git submodule at tests/e2e/kvtool
.
When first cloning the repository, if you intend to run the e2e integration tests, you must also
clone the submodules:
git clone --recurse-submodules https://github.com/Kava-Labs/kava.git
Or, if you have already cloned the repo: git submodule update --init
Testnet
For further information on joining the testnet, head over to the testnet repo.
Docs
Kava protocol and client documentation can be found in the Kava docs.
If you have technical questions or concerns, ask a developer or community member in the Kava discord.
Security
If you find a security issue, please report it to security [at] kavalabs.io. Depending on the verification and severity, a bug bounty may be available.
License
Copyright © Kava Labs, Inc. All rights reserved.
Licensed under the Apache v2 License.