49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# Nym Mixnet Contract
|
|
|
|
This is the [cosmwasm](https://www.cosmwasm.com) smart contract which runs the Nym mixnet.
|
|
|
|
## Compiling in development
|
|
|
|
```
|
|
RUSTFLAGS='-C link-arg=-s' cargo wasm
|
|
```
|
|
|
|
## Production build
|
|
|
|
Install wasm-opt:
|
|
|
|
```
|
|
npm i wasm-opt -g
|
|
```
|
|
|
|
Run `make mixnet-opt` from the top level Nym directory
|
|
|
|
## CI Support
|
|
|
|
We have template configurations for both [GitHub Actions](.github/workflows/Basic.yml)
|
|
and [Circle CI](.circleci/config.yml) in the generated project, so you can
|
|
get up and running with CI right away.
|
|
|
|
One note is that the CI runs all `cargo` commands
|
|
with `--locked` to ensure it uses the exact same versions as you have locally. This also means
|
|
you must have an up-to-date `Cargo.lock` file, which is not auto-generated.
|
|
The first time you set up the project (or after adding any dep), you should ensure the
|
|
`Cargo.lock` file is updated, so the CI will test properly. This can be done simply by
|
|
running `cargo check` or `cargo unit-test`.
|
|
|
|
## Using your project
|
|
|
|
Once you have your custom repo, you should check out [Developing](./Developing.md) to explain
|
|
more on how to run tests and develop code. Or go through the
|
|
[online tutorial](https://www.cosmwasm.com/docs/getting-started/intro) to get a better feel
|
|
of how to develop.
|
|
|
|
[Publishing](./Publishing.md) contains useful information on how to publish your contract
|
|
to the world, once you are ready to deploy it on a running blockchain. And
|
|
[Importing](./Importing.md) contains information about pulling in other contracts or crates
|
|
that have been published.
|
|
|
|
Please replace this README file with information about your specific project. You can keep
|
|
the `Developing.md` and `Publishing.md` files as useful referenced, but please set some
|
|
proper description in the README.
|