Go to file
Emmanuel T Odeke d2b914781b
x/genutil: fix CollectTxs traversal logic (#6913)
* x/genutil: fix CollectTxs traversal logic

Fixes the file traversal of CollectTxs to correctly skip over
directories instead of trying to read them, failing and erroring
out.

Also while here, changed the order to perform the os read
only after the AppState UnmarshalJSON has succeeded, otherwise
an attack vector can be to purposefully request many file stats
which touches kernel resources, while  just causing failures
indefinitely.

Fixes #6788

* address comments

* Fix test by passing in blank AppState

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-10-08 11:22:39 +00:00
.circleci fix docs build failure (#6633) 2020-07-07 19:56:01 +02:00
.github Update TM to latest (+add test) (#7442) 2020-10-08 12:44:11 +02:00
baseapp baseapp: fix err message and use valid default consensus params values (#7471) 2020-10-07 12:56:11 +00:00
client LGTM alerts audit (#7440) 2020-10-02 15:13:58 +02:00
codec proto register "cosmos.base.v1beta.Msg" interface (#7433) 2020-10-01 13:59:32 -03:00
contrib Fix installation of gocosmos (#7410) 2020-10-01 13:25:23 +00:00
cosmovisor feat: allow "any" to specify a "binary" with no arch/os deps (#7230) 2020-09-14 21:32:10 +00:00
crypto LGTM alerts audit (#7440) 2020-10-02 15:13:58 +02:00
docs Update Encoding Doc for 0.40 (#7430) 2020-10-07 12:39:35 +00:00
proto add ConsensusParams to ClientState (#7456) 2020-10-08 11:01:55 +00:00
scripts Makefile: simplify and clean-up (#7453) 2020-10-05 10:22:18 +02:00
server Change `address` from bytes to bech32 strings (#7242) 2020-09-25 10:25:37 +00:00
simapp baseapp: fix err message and use valid default consensus params values (#7471) 2020-10-07 12:56:11 +00:00
snapshots test: fix data race in snapshots.ChunkReader test (#7299) 2020-09-14 14:00:08 +01:00
std Proto Tx with Any (#7276) 2020-09-21 16:48:28 +00:00
store Merge PR #7265: Tendermint Block Pruning 2020-09-14 10:12:49 -04:00
telemetry Minor Code Cleanup - gRPC queries (#6862) 2020-07-28 12:53:35 +00:00
tests types: start grouping tests in test suites (#7395) 2020-09-27 23:51:14 +02:00
testutil Update TM to latest (+add test) (#7442) 2020-10-08 12:44:11 +02:00
third_party/proto Merge PR #7251: Cleanup of evidence types 2020-09-08 09:33:53 -07:00
types R4R: Add custom validation for denom (#6755) 2020-10-06 18:06:41 +01:00
version testutil: add ApplyMockIODiscardOutErr, simplify existing functions (#6665) 2020-07-10 08:55:48 +02:00
x x/genutil: fix CollectTxs traversal logic (#6913) 2020-10-08 11:22:39 +00:00
.clang-format Add proto formatting tool (#7266) 2020-09-08 22:06:54 +00:00
.codecov.yml test delay for codecov (#7134) 2020-08-21 15:38:40 +01: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 ibc: upgrade client (#7367) 2020-10-01 03:21:57 -03: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 Tweak mergify config 2020-03-01 16:18:22 +00:00
CHANGELOG.md R4R: Add custom validation for denom (#6755) 2020-10-06 18:06:41 +01:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md (#7381) 2020-09-28 11:28:30 +02:00
CONTRIBUTING.md Stable Releases: Definition and Process (#6394) 2020-07-14 10:28:53 +02: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 docs: docs-staging → master (#7446) 2020-10-05 13:38:38 +00:00
README.md replace testutil.NewTestCaseDir() with Go1.15's T.TempDir() (#7014) 2020-09-18 12:08:24 +01: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 Add Grpc gateway annotations (#6918) 2020-08-14 10:05:35 +00:00
build.sh Makefile: simplify and clean-up (#7453) 2020-10-05 10:22:18 +02:00
docker-compose.yml buildsystem: simplify Makefile and ci automation (#7189) 2020-08-31 15:39:05 +02:00
go.mod Update TM to latest (+add test) (#7442) 2020-10-08 12:44:11 +02:00
go.sum Update TM to latest (+add test) (#7442) 2020-10-08 12:44:11 +02:00
package-lock.json Proportional slashing ADR Update (#6368) 2020-10-05 09:30:50 +02: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.

Scaffolding

If you are starting a new app or a new module we provide a scaffolding tool 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.