The Status module that consumes go-ethereum
https://status.im
c8f9dad554
## What has changed? I've introduced to the public binding functionality that will compress and decompress public keys of a variety of encoding and key types. This functionality supports all major byte encoding formats and the following EC public key types: - `secp256k1` pks - `bls12-381 g1` pks - `bls12-381 g2` pks ## Why make the change? We want shorter public (chat) keys and we want to be future proof and encoding agnostic. See the issue here https://github.com/status-im/status-go/issues/1937 --- * Added basic signature for compresspk and uncompresspk * Added basic encoding information * make vendor * formatted imports for the linter * Reformatted imports hoping linter likes it * This linter is capricious * Added check that the secp256k1 key is valid * Added test for valid key * Added multiformat/go-varint dep * Added public key type handling * Added key decompression with key type handling * Added handling for '0x' type indentifying * Added more robust testing * Less lint for the linting gods * make vendor for bls12_381 * Added bls12-381 compression tests * Added decompress key expected results * Refactor of typed and untyped keys in tests * Lint god appeasment * Refactor of sample public keys * Implemented bls12-381 decompression * gofmt * Renamed decode/encode funcs to be more descriptive * Added binary bindings for key de/compression * Refactor of func parameters gomobile is a bit tempermental using raw bytes as a parameter, so I've decided to use string only inputs and outputs * gofmt * Added function documentation * Moved multiformat de/compression into api/multiformat ns * Moved multiformat de/compression into api/multiformat ns * Changed compress to serialize on API |
||
---|---|---|
.dependabot | ||
.github | ||
.vscode | ||
_assets | ||
_examples | ||
account | ||
api | ||
appdatabase | ||
bridge | ||
build/bin | ||
cmd | ||
config | ||
contracts | ||
db | ||
discovery | ||
eth-node | ||
exportlogs | ||
extkeys | ||
logutils | ||
mailserver | ||
metrics | ||
mobile | ||
multiaccounts | ||
node | ||
notifier | ||
params | ||
peers | ||
profiling | ||
protocol | ||
rpc | ||
rtt | ||
services | ||
signal | ||
sqlite | ||
static | ||
t | ||
timesource | ||
transactions | ||
vendor | ||
waku | ||
whisper | ||
.codeclimate.yml | ||
.dockerignore | ||
.gitignore | ||
.golangci.yml | ||
.travis.yml | ||
BOOTNODE.md | ||
CONTRIBUTING.md | ||
LICENSE.md | ||
MAILSERVER.md | ||
Makefile | ||
README.md | ||
RELEASING.md | ||
VERSION | ||
WAKU.md | ||
go.mod | ||
go.sum |
README.md
Status bindings for go-ethereum
Docs
- How to Build
- How to Contribute
- How to Release
- How to run a Bootnode
- How to run a Mailserver
- How to run a Waku node
- How to configure status-go