The Go SDK for Tupelo is fully functional and available for use. Unfortunately, some of the documentation for it is sparse or not up to date. Please consider joining us in our developer telegram channel if you are interested in using it in your project. We will be more than happy to help.
Before building the project, you should have the following installed:
- Go >= v1.12
- Docker
- GNU Make
In order to build a Docker image, you first have to prepare the vendor tree, so that it contains
all the dependencies so we can just copy them into the Docker build process. Our Makefile will
take care of this for you though, just invoke make
like this:
make docker-image
In order to run the regular test suite (i.e. non-integration tests), execute the following
command: make test
.
We run our integration tests in a Docker container, against a network of Tupelo signers
(and a bootstrap node) launched via docker-compose
. The tests must run in a container in order
to connect to the network created by docker-compose
.
You can run integration tests against Tupelo master (the default), the latest release of Tupelo,
or against your own local working copy of Tupelo (which should be in a sibling directory named
tupelo
; override the TUPELO_DIR
variable if it is somewhere else).
To run the tests against Tupelo...
* master: `make integration-test`
* latest release: `make integration-test TUPELO=latest`
* local working copy: `make integration-test TUPELO=local`
Before a message gets sent over the wire, it gets serialized to the MessagePack format. The serialized message gets sent along with a code describing its type, so that the recipient knows what type of object to deserialize it to.