mxc-client
Mxc protocol's client software implementation in Go. Learn more about Mxc nodes with the docs.
Project structure
Path |
Description |
bindings/ |
Go contract bindings for mxc smart contracts, and few related utility functions |
cmd/ |
Main executable for this project |
docs/ |
Documentation |
driver/ |
Driver sub-command |
integration_test/ |
Scripts to do the integration testing of all client softwares |
metrics/ |
Metrics related |
pkg/ |
Library code which used by all sub-commands |
proposer/ |
Proposer sub-command |
prover/ |
Prover sub-command |
scripts/ |
Helpful scripts |
testutils/ |
Test utils |
version/ |
Version information |
Build the source
Building the mxc-client
binary requires a Go compiler. Once installed, run:
make build
Usage
Review all available sub-commands:
bin/mxc-client --help
Review each sub-command's command line flags:
bin/mxc-client <sub-command> --help
Testing
Ensure you have Docker running, and pnpm installed.
Then, run the integration tests:
-
Start Docker locally
-
Perform a pnpm install
in mxc-mono/packages/protocol
-
Replace <PATH_TO_MXC_MONO_REPO>
and execute:
MXC_MONO_DIR=<PATH_TO_MXC_MONO_REPO> \
COMPILE_PROTOCOL=true \
make test