Go to file
Robert Zaremba c66f1f7efe
crypto: add secp256r1 (#8559)
* Optimize secp256k1 hashing

* Add ADR-028 related functions

* Update ed25519

* fix errors/handle

* fix build

* fix build

* Add tests and update function names

* wip

* Use LengthPrefix for composed addresses

* add tests for NewComposed

* add module hash function

* fix append

* rollback ed25519 ADR-28 update

* rollback ed25519 ADR-28 test

* Adding Module tests and convert tests to test suite

* convert store_key_test.go to test suite

* rollback test check comment

* any.pb.go update

* generated proto files

* wip

* renames

* wip2

* add String method to PBBytes

* wip3

* add pubkey tests

* adding cryptotypes.PrivKey methods

* re-enable test

* fix equals test

* fix ecdsa object receiver

* add ProtoMarshaler implementation and tests

* move code to init and add interface registry

* add bytes tests

* merge Unmarshal with UnmarshalAmino

* implement ProtoMarshaler to ecdsaSK

* remove bytes.go

* add private key marshaling tests

* break tests into 2 suites

* add signature tests

* remove TODO

* remove bytes.proto

* adding changelog

* Update CHANGELOG.md

* Update crypto/keys/ecdsa/ecdsa_privkey.go

* Update crypto/keys/ecdsa/ecdsa_pubkey.go

* comments: add dot (.) at the end

* update comments

* update commented code

* rename files

* remove Amino methods

* use 2 spaces in protocgen.sh

* rollback changes in protocgen.sh

* add MessageName

* rework ecdsa proto structure

* move ecdsa to internal package

* add secp256r1 proto

* refactore proto definition for secp256r1

* fix err check

* update comments

* create const for fieldSize+1

* simplify the PubKey.String test

* Apply suggestions from code review

Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>

* Update doc comments: SDK Interface -> sdk.Interface

* rename init.go to doc.go

* Add PubKey.Type() test

* Revert "Update doc comments: SDK Interface -> sdk.Interface"

This reverts commit 01f2b4f5efcd79a452483bcda152db54a8fbfee2.

* Use cryptotypes.Address instead of tmcrypto

* Revert "Use cryptotypes.Address instead of tmcrypto"

This reverts commit 15b866ae67bdb7ca4872f4089fcab19f9e2e3608.
This issue will be solved in https://github.com/cosmos/cosmos-sdk/issues/8775

* add link to ANSI X9.62

* move init.go -> doc.go

* use proto.MessageName()

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>
2021-03-04 12:29:48 +00:00
.github build with go1.16 (#8768) 2021-03-03 16:27:35 +00:00
baseapp Make gRPC requests go through tendermint Query (#8549) 2021-02-15 10:01:44 +00:00
client Rename InfoImporter -> LegacyInfoImporter (#8739) 2021-03-01 20:09:01 +00:00
codec crypto: add secp256r1 (#8559) 2021-03-04 12:29:48 +00:00
contrib Refactor store keys for variable-length addresses (#8363) 2021-02-01 13:17:44 +00:00
cosmovisor cosmovisor: ln -s docs/run-node/cosmovisor.md cosmovisor/README.md (#8526) 2021-02-05 15:17:52 +00:00
crypto crypto: add secp256r1 (#8559) 2021-03-04 12:29:48 +00:00
docs crypto: add secp256r1 (#8559) 2021-03-04 12:29:48 +00:00
internal/conv internal: create package for unsafe bytes convertion (#8733) 2021-03-01 15:10:22 +00:00
proto crypto: add secp256r1 (#8559) 2021-03-04 12:29:48 +00:00
scripts scripts: indent multiline commands (#8706) 2021-02-25 20:57:41 +00:00
server Move QueryTx functions to x/auth/tx (#8734) 2021-03-01 15:57:28 +00:00
simapp simapp, types: fix benchmarks panics by honoring skip if set (#8763) 2021-03-03 03:54:14 -08:00
snapshots snapshots: document use of ioutil.TempDir() (#8508) 2021-02-04 09:54:01 +00:00
std Add ADR 031 BaseApp and codec infrastructure (#7519) 2020-10-15 13:07:59 +00:00
store internal: create package for unsafe bytes convertion (#8733) 2021-03-01 15:10:22 +00:00
telemetry Minor Code Cleanup - gRPC queries (#6862) 2020-07-28 12:53:35 +00:00
tests Add in-place store migrations (#8485) 2021-02-10 17:49:31 +00:00
testutil Bump tendermint to v0.34.7 (#8616) 2021-02-18 08:33:56 +00:00
third_party/proto gRPC-gateway routes as alternative to legacy tendermint REST endpoints (#7965) 2020-11-25 15:58:11 +00:00
types Lock mutex on getting element from cache (#8767) 2021-03-03 15:52:38 +00:00
version version --long displays replaced build dependencies (#7941) 2020-11-16 10:00:34 +00:00
x Fix typo in querying events (#8773) 2021-03-03 18:13:16 +00:00
.build.sh fix library file path (#8301) 2021-01-12 10:08:42 +00:00
.clang-format Fix clang-format to specific version (#7350) 2020-10-27 10:04:34 +00:00
.codecov.yml CI: Fix codecov flag project config (#7994) 2020-11-20 09:13:25 -05:00
.dockerignore Add basic Dockerfile to build all binaries and export gaiad 2018-04-10 12:39:47 +02:00
.gitattributes Merge PR #6426: Migrate API Server 2020-06-15 13:39:09 -04:00
.gitignore All Makefile proto commands use Docker (#7931) 2020-11-13 16:36:58 +00:00
.golangci.yml linter: enable nolintlint (#6162) 2020-05-08 08:46:12 +00:00
.goreleaser.yml ci: automate release post tag push (#6230) 2020-05-25 20:02:08 +02:00
.mergify.yml add mergify config for automated launchpad backports (#8667) 2021-02-24 07:22:19 +00:00
CHANGELOG.md crypto: add secp256r1 (#8559) 2021-03-04 12:29:48 +00:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md (#7381) 2020-09-28 11:28:30 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md Point Release Procedure (#7999) 2020-12-11 01:50:07 +00:00
Dockerfile Makefile: simplify and clean-up (#7453) 2020-10-05 10:22:18 +02:00
LICENSE Add README.md to Basecoin; Update licenses 2018-01-28 18:17:19 -08:00
Makefile Makefile: fix build_tags update (#8725) 2021-03-01 08:31:09 +00:00
README.md update readme to link starport instead of scaffold (#7613) 2020-10-21 08:08:20 +00:00
SECURITY.md update SECURITY.md (#6263) 2020-05-21 11:12:51 +02:00
STABLE_RELEASES.md Stable Releases: Definition and Process (#6394) 2020-07-14 10:28:53 +02:00
buf.yaml fix proto generation (#8361) 2021-01-18 12:41:34 -03:00
docker-compose.yml buildsystem: simplify Makefile and ci automation (#7189) 2020-08-31 15:39:05 +02:00
go.mod build(deps): bump github.com/prometheus/common from 0.17.0 to 0.18.0 (#8727) 2021-03-01 08:27:13 +00:00
go.sum build(deps): bump github.com/prometheus/common from 0.17.0 to 0.18.0 (#8727) 2021-03-01 08:27:13 +00:00

README.md

Cosmos SDK

banner

The Cosmos-SDK is a framework for building blockchain applications in Golang. It is being used to build Gaia, the first implementation of the Cosmos Hub.

WARNING: The SDK has mostly stabilized, but we are still making some breaking changes.

Note: Requires Go 1.15+

Quick Start

To learn how the SDK works from a high-level perspective, go to the SDK Intro.

If you want to get started quickly and learn how to build on top of the SDK, please follow the SDK Application Tutorial. You can also fork the tutorial's repository to get started building your own Cosmos SDK application.

For more, please go to the Cosmos SDK Docs.

Cosmos Hub Mainnet

The Cosmos Hub application, gaia, has moved to its own repository. Go there to join the Cosmos Hub mainnet and more.

Starport

If you are starting a new app or a new module you can use Starport to help you get started and speed up development. If you have any questions or find a bug, feel free to open an issue in the repo.

Disambiguation

This Cosmos-SDK project is not related to the React-Cosmos project (yet). Many thanks to Evan Coury and Ovidiu (@skidding) for this Github organization name. As per our agreement, this disambiguation notice will stay here.