Update README

This commit is contained in:
Ethan Frey
2020-06-29 21:03:39 +02:00
parent 670bfa85e9
commit 3761c9b9b1

View File

@@ -15,19 +15,35 @@ This code was forked from the `cosmos/gaia` repository and the majority of the c
**Compatibility**: Last merge from `cosmos/gaia` was `090c545347b03e59415a18107a0a279c703c8f40` (Jan 23, 2020)
The `v0.7.2` release is based on `cosmos-sdk` `v0.38.3` and should be used in any public networks (as that fixed a security issue).
## Supported Systems
The supported systems are limited by the dlls created in [`go-cosmwasm`](https://github.com/CosmWasm/go-cosmwasm). In particular, **we only support MacOS and Linux**. Even for Linux, we only support `glibc 2.12+`. This includes all known supported distributions using glibc (CentOS 7 uses 2.12, obsolete Debian Jessy uses 2.19). **We do not currently support `muslc` systems, such as Alpine Linux**, which is popular in docker distributions.
The supported systems are limited by the dlls created in [`go-cosmwasm`](https://github.com/CosmWasm/go-cosmwasm). In particular, **we only support MacOS and Linux**.
For linux, the default is to build for glibc, and we cross-compile with CentOS 7 to provide
backwards compatibility for `glibc 2.12+`. This includes all known supported distributions
using glibc (CentOS 7 uses 2.12, obsolete Debian Jessy uses 2.19).
As of `0.9.0` we support `muslc` Linux systems, in particular **Alpine linux**,
which is popular in docker distributions. Note that we do **not** store the
static `muslc` build in the repo, so you must compile this yourself, and pass `-tags muslc`.
Please look at the [`Dockerfile`](./Dockerfile) for an example of how we build a static Go
binary for `muslc`. (Or just use this Dockerfile for your production setup).
There is some work done in `go-cosmwasm` to extend support, but it is rather tricky with Rust build flags.
## Stability
**This is alpha software, do not run on a production system.** Notably, we currently provide **no migration path** not even "dump state and restart" to move to future versions. At **beta** we will begin to offer migrations and better backwards compatibility guarantees.
With the `v0.6.0` tag, we are entering semver. That means anything with `v0.6.x` tags is compatible with each other, and everything with `v0.7.x` tags is compatible with each other. We will have a series of minor version updates prior to `v1.0.0`, where we offer strong backwards compatibility guarantees. In particular, work has begun in the `cosmwasm` library on `v0.8`, which will change many internal APIs, in order to allow adding other languages for writing smart contracts. We hope to stabilize much of this well before `v1`, but we are still in the process of learning from real-world use-cases
With the `v0.6.0` tag, we entered semver. That means anything with `v0.6.x` tags is compatible with each other,
and everything with `v0.7.x` tags is compatible with each other.
We will have a series of minor version updates prior to `v1.0.0`,
where we offer strong backwards compatibility guarantees.
We are currently on `v0.9` and targeting `v0.10` for late July, at which point
we will have feature freeze for the `v1` tag and only perform needed bugfixes
(which may be API breaking).
Thank you to all projects who have run this code in your testnets and
given feedback to improve stability.
## Encoding