cosmos-sdk/docs
Charly 55fc465dce
fixes: permalinks for docs (#8838)
* fixed broken links, typos

* Update docs/ibc/overview.md

Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>

* Update docs/intro/sdk-app-architecture.md

Co-authored-by: Marko <markobaricevic3778@gmail.com>

* Update docs/building-modules/simulator.md

Co-authored-by: Marko <markobaricevic3778@gmail.com>

* build(deps): bump JamesIves/github-pages-deploy-action from 4.0.0 to 4.1.0 (#8792)

Bumps [JamesIves/github-pages-deploy-action](https://github.com/JamesIves/github-pages-deploy-action) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/JamesIves/github-pages-deploy-action/releases)
- [Commits](https://github.com/JamesIves/github-pages-deploy-action/compare/4.0.0...3dbacc7e69578703f91f077118b3475862cb09b8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix multisig account pubkeys migration (#8794)

closes: #8776

* Update mergify (#8784)

* Update mergify

Prep for the v0.42 release series.

* retire v0.41, the hub can upgrade to v0.42 smoothly

* perf change (#8796)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Supply by denom Migrations (#8780)

* Add back supply proto

* Add migration for supply

* Fix lint

* Update x/bank/spec/01_state.md

* Fix test

* Proto gen

* Update x/bank/spec/01_state.md

* Make proto gen

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

* fix make protoc error (#8799)

* reduce gas costs by 10x for transient store operations (#8790)

* reduce gas costs by 10x for transient store operations

* fix TestTransientGasConfig for ReadCostFlat

* added changelog entry

* fix changelog

* fix changelog

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* x/gov: fix NormalizeProposalType() return values (#8808)

Closes: #8806

* store/cachekv: use typed types/kv.List instead of container/list.List (#8811)

Reduces CPU burn by using a typed List to avoid the expensive type
assertions from using an interface. This is the only option for now
until Go makes generics generally available.

The change brings time spent on the time assertion cummulatively to:
    580ms down from 6.88s

Explanation:
The type assertions were showing up heavily in profiles:
* Before this commit
```shell
Total: 42.18s
ROUTINE ======================== github.com/cosmos/cosmos-sdk/store/cachekv.newMemIterator
in /Users/emmanuelodeke/go/src/github.com/cosmos/cosmos-sdk/store/cachekv/memiterator.go
    14.01s     18.87s (flat, cum) 44.74% of Total
         .          .     17:	items      []*kv.Pair
         .          .     18:	ascending  bool
         .          .     19:}
         .          .     20:
         .          .     21:func newMemIterator(start, end []byte, items *list.List, ascending bool) *memIterator {
         .      620ms     22:	itemsInDomain := make([]*kv.Pair, 0, items.Len())
         .          .     23:
         .          .     24:	var entered bool
         .          .     25:
     510ms      870ms     26:	for e := items.Front(); e != nil; e = e.Next() {
     6.85s      6.88s     27:		item := e.Value.(*kv.Pair)
     5.71s      8.19s     28:		if !dbm.IsKeyInDomain(item.Key, start, end) {
     120ms      120ms     29:			if entered {
         .          .     30:				break
         .          .     31:			}
         .          .     32:
         .          .     33:			continue
         .          .     34:		}
         .          .     35:
     820ms      980ms     36:		itemsInDomain = append(itemsInDomain, item)
         .          .     37:		entered = true
         .          .     38:	}
         .          .     39:
         .      1.21s     40:	return &memIterator{
         .          .     41:		start:     start,
         .          .     42:		end:       end,
         .          .     43:		items:     itemsInDomain,
         .          .     44:		ascending: ascending,
         .          .     45:	}
```

and given that the list only uses that type, it is only right to lift the
code from container/list.List, and only modify Element.Value's type.

For emphasis, the code is basically just a retrofit of
container/list/list.go but with a typing, and we'll keep it as is
until perhaps Go1.17 or Go1.18 or when everyone uses Go1.17+ after
generics have landed.

* After this commit
```shell
Total: 45.25s
ROUTINE ======================== github.com/cosmos/cosmos-sdk/store/cachekv.newMemIterator
in /Users/emmanuelodeke/go/src/github.com/cosmos/cosmos-sdk/store/cachekv/memiterator.go
     4.84s      6.77s (flat, cum) 14.96% of Total
         .          .     16:	items      []*kv.Pair
         .          .     17:	ascending  bool
         .          .     18:}
         .          .     19:
         .          .     20:func newMemIterator(start, end []byte, items *kv.List, ascending bool) *memIterator {
         .      330ms     21:	itemsInDomain := make([]*kv.Pair, 0, items.Len())
         .          .     22:
         .          .     23:	var entered bool
         .          .     24:
      60ms      160ms     25:	for e := items.Front(); e != nil; e = e.Next() {
     580ms      580ms     26:		item := e.Value
     3.68s      4.78s     27:		if !dbm.IsKeyInDomain(item.Key, start, end) {
      80ms       80ms     28:			if entered {
         .          .     29:				break
         .          .     30:			}
         .          .     31:
         .          .     32:			continue
         .          .     33:		}
         .          .     34:
     440ms      580ms     35:		itemsInDomain = append(itemsInDomain, item)
         .          .     36:		entered = true
         .          .     37:	}
         .          .     38:
         .      260ms     39:	return &memIterator{
         .          .     40:		start:     start,
         .          .     41:		end:       end,
         .          .     42:		items:     itemsInDomain,
         .          .     43:		ascending: ascending,
         .          .     44:	}
```

Fixes #8810

* Move all migration scripts to v043 (#8814)

* Move all migration scripts to v043

* Fix permaling

* Fix test

* Fix test again

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* permalinks

Co-authored-by: chrly <chrly@chrlys-MacBook-Pro.local>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>
Co-authored-by: Marko <markobaricevic3778@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Albert Chon <albert@injectiveprotocol.com>
Co-authored-by: Emmanuel T Odeke <emmanuel@orijtech.com>
2021-03-10 19:14:12 +00:00
..
.vuepress docs: update master docs (#8353) 2021-02-23 10:57:04 +00:00
architecture Move all migration scripts to v043 (#8814) 2021-03-08 22:36:06 +00:00
basics docs: Add mention to use gRPC v1.33.2 (#8658) 2021-02-25 07:57:06 +00:00
building-modules fixes: permalinks for docs (#8838) 2021-03-10 19:14:12 +00:00
cn change dir '.appd' to '.app' (#8695) 2021-02-25 07:52:17 +00:00
core Supply by denom Migrations (#8780) 2021-03-05 14:11:19 +00:00
ibc fixed broken links, typos (#8783) 2021-03-09 09:51:52 +00:00
intro fixes: permalinks for docs (#8838) 2021-03-10 19:14:12 +00:00
kr context: remove verifier & trust node (#6805) 2020-07-23 06:44:18 +00:00
migrations fix REST endpoints in migration docs (#8648) 2021-02-24 15:03:27 +00:00
ru Merge PR #5379: New docs V1 (merge master-docs to master) 2019-12-10 09:29:46 -05:00
run-node fixed broken links, typos (#8783) 2021-03-09 09:51:52 +00:00
spec Robert/docs slashing (#8329) 2021-01-16 00:03:08 +01:00
using-the-sdk docs: Remove deprecated "Interfaces" section (#8294) 2021-01-18 00:11:26 +00:00
DOCS_README.md docs: Remove legacy Msg/queriers in "Basics" section (#7782) 2020-11-27 12:57:14 +00:00
README.md docs: Add grpc & rest endpoints overview (#8064) 2020-12-14 10:51:32 +00:00
cosmos-sdk-image.jpg Merge PR #4643: Update cosmos sdk image, remove unused images 2019-06-30 16:29:05 -04:00
package-lock.json docs: update master docs (#8353) 2021-02-23 10:57:04 +00:00
package.json build(deps): bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#8356) 2021-01-18 12:47:24 +00:00
post.sh Final updates for new docs website (#5388) 2019-12-11 18:35:27 +01:00
pre.sh Final updates for new docs website (#5388) 2019-12-11 18:35:27 +01:00
protodoc-markdown.tmpl Add script to generate proto-docs (#8238) 2020-12-31 16:10:13 +00:00
versions Update master CHANGELOG.md with v0.41, enable building docs for v0.41 (#8562) 2021-02-17 12:41:08 +00:00

README.md

Cosmos SDK Documentation

Get Started

  • SDK Intro: High-level overview of the Cosmos SDK.
  • Quick Start Guide: Scaffold a standard Cosmos SDK app and run a node.
  • SDK Application Tutorial: A tutorial that showcases how to build an SDK-based blockchain from scratch and explains the basic principles of the SDK in the process.

Reference

  • Basics: Documentation on the basic concepts of the Cosmos SDK, like the standard anatomy of an application, the transaction lifecycle and accounts management.
  • Core: Documentation on the core concepts of the Cosmos SDK, like baseapp, the store or the server.
  • Building Modules: Important concepts for module developers like messages, keepers, handlers and queriers.
  • IBC: Documentation for the IBC protocol integration and concepts.
  • Running a Node, API, CLI: Documentation on how to run a node, and how to interact with it using the CLI and the API.
  • Migrations: Migration guides for updating to Stargate.

Other Resources

Cosmos Hub

The Cosmos Hub (gaia) docs have moved here.

Languages

The Cosmos-SDK is currently written in Golang, though the framework could be implemented similarly in other languages. Contact us for information about funding an implementation in another language.

Contribute

See this file for details of the build process and considerations when making changes.