Skip to content

types: allow genesis file to have 0 validators #2015

Closed
@ebuchman

Description

@ebuchman

InitChain allows the app to return the initial validator set. This is nice because it allows the initial validator set to be a function of application state, for instance some set of bonds/delegations.

However, Tendermint currently requires the genesis to have at least one validator. We should loosen this requirement, but then ensure that the validator set after InitChain has at least one validator ...

Note we create the state before calling InitChain and then update it after InitChain.

Activity

added this to the launch milestone on Jul 19, 2018
added
C:abciComponent: Application Blockchain Interface
on Jul 19, 2018
b00f

b00f commented on Aug 3, 2018

@b00f
Contributor

@ebuchman I am going to work on this issue to resolve it.
But I have a question, why tendermint cannot work without validator? I mean in this case the node is just helping the eco-system by broadcasting transactions without validating proposals.

b00f

b00f commented on Aug 3, 2018

@b00f
Contributor

I can't build the code. I got several errors:

$ make build
CGO_ENABLED=0 go build -ldflags "-X github.com/tendermint/tendermint/version.GitCommit=`git rev-parse --short=8 HEAD`" -tags 'tendermint' -o build/tendermint ./cmd/tendermint/
# github.com/tendermint/tendermint/abci/types
abci/types/types.pb.go:89:29: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:511:33: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:557:34: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:597:33: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:646:38: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:704:38: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:782:34: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:854:39: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:922:36: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:969:38: undefined: "github.com/tendermint/tendermint/vendor/github.com/gogo/protobuf/proto".InternalMessageInfo
abci/types/types.pb.go:969:38: too many errors
Makefile:23: recipe for target 'build' failed
make: *** [build] Error 2
###### I have fresh instance of develop branch

$ make check
Makefile:67: *** "No gogoproto in PATH".  Stop.

$ make ensure_deps
make: *** No rule to make target 'ensure_deps'.  Stop.
###### This target is removed. (why?)
###### Please remove it (ensure_deps) from check target also.

$ dep ensure
grouped write of manifest, lock and vendor: failed to export golang.org/x/sys: fatal: failed to unpack tree object e072cadbbdc8dd3d3ffa82b8b4b9304c261d9311
: exit status 128
ebuchman

ebuchman commented on Aug 3, 2018

@ebuchman
ContributorAuthor

Can you try clearing your vendor pkg and installing deps again using make get_vendor_deps ?

b00f

b00f commented on Aug 15, 2018

@b00f
Contributor

You can close this issue.

ebuchman

ebuchman commented on Aug 15, 2018

@ebuchman
ContributorAuthor

Thanks for your help!!

1 remaining item

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C:abciComponent: Application Blockchain InterfaceC:consensusComponent: ConsensusT:enhancementType: Enhancement

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      types: allow genesis file to have 0 validators · Issue #2015 · tendermint/tendermint