Commit Graph

6268 Commits

Author SHA1 Message Date
Greg Szabo 4bca7c1009 Added tendermint/testing docker image description 2018-05-14 12:24:54 -04:00
Greg Szabo 4be3ffbe9b Persistence test bash fix for relative folder path 2018-05-14 12:24:54 -04:00
Ethan Buchman 5b9a1423ae
Merge pull request #1564 from tendermint/bucky/dump-consensus
Improve consensus state RPC
2018-05-14 12:21:54 -04:00
Ethan Buchman 16932f889f changelog 2018-05-14 10:45:18 -04:00
Ethan Buchman e9804d76cf fixes from review 2018-05-14 10:33:31 -04:00
Christopher Goes e6d0ade0e1 Update to latest upstream, debugging information 2018-05-14 16:24:08 +02:00
Christopher Goes 337ad8e594 Update to new Ledger API in progress 2018-05-14 15:26:14 +02:00
Christopher Goes 49e03fb481 Update dependency versions 2018-05-14 15:26:14 +02:00
Christopher Goes 86b09b0cd7 Bugfix 2018-05-14 15:26:14 +02:00
Christopher Goes 391936b734 Prevent unnecessary signatures, improve error messages 2018-05-14 15:26:14 +02:00
Christopher Goes e25a64fdf1 Fix testcases, all looks OK 2018-05-14 15:26:14 +02:00
Christopher Goes 065c3943b1 Fix no-Ledger testcase 2018-05-14 15:26:14 +02:00
Christopher Goes 1c9ff46e98 Ledger integration, WIP 2018-05-14 15:26:14 +02:00
Anton Kaliaev a7d695408a
Merge pull request #94 from tendermint/tm-bench-improvements
[tm-bench] small fixes and improv.
2018-05-14 15:08:11 +04:00
Adrian Brink 9439306f0f
Change last instance of AppStateBytes to GenesisBytes 2018-05-13 20:05:45 -04:00
Ethan Buchman a41f0d3891 rpc: /consensus_state for simplified output 2018-05-13 19:53:54 -04:00
Adrian Brink f80b3aee48
Change AppStateBytes to GenesisBytes
The consensus should pass the entire genesis file to the application.
That way the application has access to the chain_id, the timestap, ...
2018-05-13 19:50:15 -04:00
Ethan Buchman 658060150c rpc: add voting power totals to vote bitarrays 2018-05-13 19:22:23 -04:00
Adrian Brink ef67705524
Allow ResponseInitChain to return the initial validator set
ResponseInitChain should be able to return an initial validator set that
is determined by some logic within the genesis.json file.
2018-05-13 19:04:03 -04:00
Ethan Buchman d0229e8b1e
Merge pull request #1554 from tendermint/jae/expose_peer_stats
Expose peer stats for dump_consensus_state
2018-05-13 16:16:35 -04:00
Zaki Manian 1c8dffaa28 Initial implementation of xchacha20poly1035 aead 2018-05-13 11:06:20 -04:00
Jae Kwon 56c9e0da7e Add back sample output in rpc/core/consensus.go; Tweak DumpConsensusState output for peers 2018-05-12 15:39:30 -07:00
Ethan Buchman fbe253767e
Merge pull request #1540 from tendermint/set-genesis-time-on-init
set GenesisTime to now during `tendermint init`
2018-05-12 10:10:06 -04:00
Jae Kwon edbec10f9e Expose peer stats for dump_consensus_state 2018-05-10 22:43:21 -07:00
Jae Kwon a8fcf45624 Change defaults to 100M and 10G respectively 2018-05-10 20:58:28 -07:00
Jae Kwon 2e41756b55 Add logjack command 2018-05-10 20:43:50 -07:00
Christopher Goes 67faf556ed
Merge pull request #162 from tendermint/db-gRPC
DB as a service: remove database deployment with API
2018-05-10 18:46:05 +02:00
Anton Kaliaev a28fdfd3a8
fix stats calculation 2018-05-10 17:08:49 +04:00
Jae Kwon 43570388a9
Update README.md 2018-05-09 13:48:49 -07:00
Jae Kwon 35cf21c6eb
Update README.md 2018-05-09 13:48:21 -07:00
Liamsi 3477dd7a90 safer PRNG seeding: hash concatenation of fresh seedBytes with current seedBytes 2018-05-09 15:04:51 +01:00
Zach 851232d1b5
Merge pull request #95 from tendermint/delete-ansible-and-terraform
delete ansible and terraform folders
2018-05-09 07:12:27 -04:00
Anton Kaliaev 7fac16dc7f
ansible and terraform moved to tendermint core repo
see https://github.com/tendermint/tendermint/tree/master/networks
2018-05-09 15:06:47 +04:00
Liamsi 94ce56d243 Use constant-time comparator (sublte.ConstantTimeCompare) to compare
signatures

prevents potential signature forgery

resolves #91
2018-05-09 11:48:46 +01:00
Allen c0a1a8d3c0 add link to github (#1542) 2018-05-09 12:13:07 +04:00
Christopher Goes 20be8c75e5
Tweak testcases 2018-05-08 17:13:13 +02:00
Christopher Goes 0b6d101c77
Implement batch operations 2018-05-08 16:38:39 +02:00
Christopher Goes 45514a6013
Address PR comments 2018-05-08 15:47:06 +02:00
Anton Kaliaev 80e6e0fa05
only call Sleep if it took us less than 1 sec. to generate txs 2018-05-08 16:23:29 +04:00
Anton Kaliaev 52d3eca67c
check if block was created after timeStart 2018-05-08 16:23:00 +04:00
Anton Kaliaev ac2d3a917e
set GenesisTime to now during `tendermint init` 2018-05-08 12:04:20 +04:00
Christopher Goes 39e1567d0a
Add iterator tests 2018-05-08 00:53:33 +02:00
Christopher Goes 55f4ccd4fc
CI fix 2018-05-07 23:28:41 +02:00
Christopher Goes 2cca5a7a4c
Implement TLS/SSL 2018-05-07 23:16:06 +02:00
Christopher Goes bf16d6453c
Address PR comments 2018-05-07 22:12:26 +02:00
Emmanuel T Odeke 5d12e1eb46
remotedb: a client package implementing the db.DB interface
Simplified the abstractions to remotedb, a package that
allows clients to use whatever database they can in client
code without having to switch out their code e.g
```go
client, err := remotedb.NewInsecure(":9888")
...
// Just like they'd initialize locally
in := &remotedb.Init{
  Name: "test-remote-db",
  Type: "leveldb",
  Dir: "/tmp/dbs",
}

if err := client.InitRemote(in); err != nil {
    log.Fatalf("Failed to initialize the database")
}

v1 := client.Get(k1)
client.Set(k9, dog)

for itr := client.Iterator(a1, z1); itr.Valid(); itr.Next() {
  k, v := itr.Key(), itr.Value()
  dom := itr.Domain()
  ...
}
```
2018-05-07 22:00:38 +02:00
Emmanuel T Odeke 1260b75f63
grpcdb: Better readability for docs and constructor names
* Added some docs for NewClient, BindServer, *server.Init
* Security level clarified, whether "secure" for https
or "insecure" for non-https gRPC connections.
2018-05-07 22:00:38 +02:00
Emmanuel T Odeke 11bee6194a
DB as a service
Fixes https://github.com/tendermint/tendermint/issues/1162

Databases as a service!

Can now access Databases as a remote service
via gRPC for performance and easy deployment.

The caveat is that each service is stateful in regards to
the DB i.e. each unique service uses only one unique DB
but nonetheless multiple clients can access it.

A full standalone example

```go
package main

import (
  "bytes"
  "context"
  "log"

  grpcdb "github.com/tendermint/tmlibs/grpcdb"
  protodb "github.com/tendermint/tmlibs/proto"
)

func main() {
  addr := ":8998"
  go func() {
    if err := grpcdb.BindRemoteDBServer(addr); err != nil {
      log.Fatalf("BindRemoteDBServer: %v", err)
    }
  }()

  client, err := grpcdb.NewClient(addr, false)
  if err != nil {
    log.Fatalf("Failed to create grpcDB client: %v", err)
  }

  ctx := context.Background()
  // 1. Initialize the DB
  in := &protodb.Init{
    Type: "leveldb",
    Name: "grpc-uno-test",
    Dir:  ".",
  }
  if _, err := client.Init(ctx, in); err != nil {
    log.Fatalf("Init error: %v", err)
  }

  // 2. Now it can be used!
  query1 := &protodb.Entity{Key: []byte("Project"), Value:
[]byte("Tmlibs-on-gRPC")}
  if _, err := client.SetSync(ctx, query1); err != nil {
    log.Fatalf("SetSync err: %v", err)
  }

  query2 := &protodb.Entity{Key: []byte("Project")}
  read, err := client.Get(ctx, query2)
  if err != nil {
    log.Fatalf("Get err: %v", err)
  }
  if g, w := read.Value, []byte("Tmlibs-on-gRPC"); !bytes.Equal(g, w) {
    log.Fatalf("got= (%q ==> % X)\nwant=(%q ==> % X)", g, g, w, w)
  }
}
```
2018-05-07 22:00:33 +02:00
Ethan Buchman aefb6c58b6
Merge pull request #87 from tendermint/bucky/fix-ed-gen
fix ed25519 Generate
2018-05-07 10:52:46 -04:00
Ethan Buchman ad837a8183 fix ed25519 Generate 2018-05-05 19:17:21 -04:00