Skip to content
This repository has been archived by the owner on Apr 17, 2019. It is now read-only.

Hyperledger Iroha v1.0 Release Candidate 2 #2001

Merged
merged 72 commits into from
Jan 10, 2019
Merged

Hyperledger Iroha v1.0 Release Candidate 2 #2001

merged 72 commits into from
Jan 10, 2019

Conversation

kamilsa
Copy link
Contributor

@kamilsa kamilsa commented Dec 28, 2018

Release Candidate 2 has the same awesome features as the first one but with some very important fixes and improvements. Please make sure to check them out:

Hex format for client API

Now all keys and hashes, and basically all API messages will use HEX format. It will be consistent from now and will make Iroha faster and more stable.
That is a breaking change, so please make sure your Iroha is compliant: #1998

MST pending storage fixed

Previously, if batch was pending, and the same batch with all signatures comes, it went straight to the PCS. Because of that, the pending one was not removed and in theory could be replayed. Now, the system checks, if the arrived batch does already exist in MST storage, even if it has all signatures: #1959

You can now run irohad natively on windows!

There are no tests at the moment though: #1988

Memory leaks on iroha shutdown - fixed

Fixes couple of memory leaks on irohad shutdown by calling unsubscribe() in destructors: #1968

Fixed subscription to transaction status updates

In Iroha you subscribe to receive status updates of the transaction. Previously, that was based on time factor - the status stream was breaking off after some time.
New round-based approach is fixing this issue - it will break off if there are no updates on the transaction in some rounds: #1980
Also fixed the case in which many transactions updates could crash clients: #1991

New style licence comments are here

Simply check out how neat looking they are :) Now it is easier to contribute new files: #1944

Lots of improvements in fuzzing tests

Removed OrderingGate (internal) fuzzing: #1981
Updated RequestProposal endpoint fuzzing: #1983
Updated query Find fuzzing target: #1982
Fixed send_batches_fuzz and mst_fuzz: #1984
Fixed fuzzing status: #1979
Updated Torii fuzzing: #1951

Improved and made delay functionality pluggable to ordering gate init

Iroha will not wait more than 5 seconds between rounds in case of too many successive rejects: #1997

Improved create account command validation

Transaction creator should have all the permissions of default role of a domain where new account will be created: #1966

Improved synchronisation outcome logging

=^._.^= #1965

New compiler for tests and builds

Added libc++ to docker build image: #1970

Some documentation improvements

Checked and fixed commands and queries documentation: #1971, #1938
Fixed deployment instructions: #1972

Akvinikym and others added 30 commits December 11, 2018 17:38
Signed-off-by: Akvinikym <[email protected]>
Signed-off-by: Akvinikym <[email protected]>
* Factory is ready

Signed-off-by: Akvinikym <[email protected]>

* Minor fixes

Signed-off-by: Akvinikym <[email protected]>

* CMake fixed

Signed-off-by: Akvinikym <[email protected]>

* Review issues

Signed-off-by: Akvinikym <[email protected]>

* Fix build

Signed-off-by: Akvinikym <[email protected]>
Signed-off-by: Akvinikym <[email protected]>
Signed-off-by: Akvinikym <[email protected]>
* Factory is ready

Signed-off-by: Akvinikym <[email protected]>

* Minor fixes

Signed-off-by: Akvinikym <[email protected]>

* CMake fixed

Signed-off-by: Akvinikym <[email protected]>

* QueryExecutorTest is reworked with CommandFactory

Signed-off-by: Akvinikym <[email protected]>

* Maybe fixed the build

Signed-off-by: Akvinikym <[email protected]>

* Refactored a bit

Signed-off-by: Akvinikym <[email protected]>
…1934)

* Factory is ready

Signed-off-by: Akvinikym <[email protected]>

* Reference is removed, and test is started to be reworked

Signed-off-by: Akvinikym <[email protected]>

* Minor fixes

Signed-off-by: Akvinikym <[email protected]>

* CommandExecutor tests are reworked with the factory

Signed-off-by: Akvinikym <[email protected]>

* Some includes are fixed

Signed-off-by: Akvinikym <[email protected]>

* CMake fixed

Signed-off-by: Akvinikym <[email protected]>

* Little crypto issue

Signed-off-by: Akvinikym <[email protected]>

* Amounts are refactored

Signed-off-by: Akvinikym <[email protected]>

* Refactor the execute method

Signed-off-by: Akvinikym <[email protected]>
Pull master into dev

Signed-off-by: Andrei Lebedev <[email protected]>
Signed-off-by: Akvinikym <[email protected]>
Signed-off-by: Akvinikym <[email protected]>

# Conflicts:
#	test/module/irohad/ametsuchi/postgres_executor_test.cpp
#	test/module/irohad/ametsuchi/postgres_query_executor_test.cpp
Signed-off-by: Akvinikym <[email protected]>

# Conflicts:
#	test/module/irohad/ametsuchi/postgres_executor_test.cpp
#	test/module/irohad/ametsuchi/postgres_query_executor_test.cpp
* Map is substituted by a vector

Signed-off-by: Akvinikym <[email protected]>

* Merged with dev 2

Signed-off-by: Akvinikym <[email protected]>

* Maybe fixed tests

Signed-off-by: Akvinikym <[email protected]>

* Fixed build

Signed-off-by: Akvinikym <[email protected]>
…1875)

* Modified Ansible task to generate secrets for each peer replicant; Added persisted storage for Postgres and block store.

Signed-off-by: bagf <[email protected]>

* Removed unused enumerate

Signed-off-by: bagf <[email protected]>

* Cleaned up Postgres probe commands; Made Iroha docker image configurable; Removed test tail command from init container

Signed-off-by: bagf <[email protected]>

* Added example k8s-peer-key.yaml with accompanying genesis.block

Signed-off-by: bagf <[email protected]>

* Reverted blockstore path to consistent with repo

Signed-off-by: bagf <[email protected]>

* Omit empty blockstore check in container entrypoint script

Signed-off-by: bagf <[email protected]>

* Changed default Iroha image to use the develop tag

Signed-off-by: bagf <[email protected]>

* Added IROHA_POSTGRES_HOST env and removed entrypoint script so default entrypoint can be used

Signed-off-by: bagf <[email protected]>

* Remove entrypoint.sh command

Signed-off-by: bagf <[email protected]>

* Added hyphen between end of secret name and number

Signed-off-by: bagf <[email protected]>

* Corrected iroha containers ENV values for develop tag

Signed-off-by: bagf <[email protected]>

* Renamed config.sample to config.docker

Signed-off-by: bagf <[email protected]>

* Updated Kubernetes cluster documentation

Signed-off-by: bagf <[email protected]>

* Update genesis block and peer add code for k8s deployment

Signed-off-by: bagf <[email protected]>
* add fuzzingEnabled

Signed-off-by: Bulat Saifullin <[email protected]>

* clang COMPILER

Signed-off-by: Bulat Saifullin <[email protected]>

* fix to CMAKE_C_COMPILER

Signed-off-by: Bulat Saifullin <[email protected]>
Signed-off-by: Akvinikym <[email protected]>
Signed-off-by: Akvinikym <[email protected]>
Revoke permission adjusted behaviour and tests

Signed-off-by: Akvinikym <[email protected]>
Commands Mocks Factory is introduced

Signed-off-by: Akvinikym <[email protected]>
* Replay possibility is removed

Signed-off-by: Akvinikym <[email protected]>

* Review issues

Signed-off-by: Akvinikym <[email protected]>
* Amend genesis-add-peers.py script to insert hex strings instead of base64 for peer keys

* Converted prevBlockHash and public keys to hex format

Signed-off-by: kamilsa <[email protected]>
Signed-off-by: Konstantin Munichev <[email protected]>
LiraLemur and others added 18 commits December 27, 2018 00:37
* irohad config reportJsonParsingError(...)

Signed-off-by: Mikhail Boldyrev <[email protected]>
- Rework deserializeTransaction with for-each, since it calls pipeline
callback twice for some reason
- Use Mocks for tx validator and tx batch validator
- Remove transactions, where useless
- Remove redundant stuff from CommandSyncClient

Signed-off-by: Kitsu <[email protected]>
* Add hex validators

Signed-off-by: kamilsa <[email protected]>
# Conflicts:
#	example/genesis.block
#	irohad/torii/impl/command_service_transport_grpc.cpp
#	test/module/iroha-cli/client_test.cpp
#	test/module/irohad/torii/torii_service_test.cpp
* Started implementing SubscriptionWatcher

Signed-off-by: Akvinikym <[email protected]>

* Torii test and application are up

Signed-off-by: Akvinikym <[email protected]>

* Project is build and everything works

Signed-off-by: Akvinikym <[email protected]>

* Removed timeouts

Signed-off-by: Akvinikym <[email protected]>

* Rewritten the algorithm

Signed-off-by: Akvinikym <[email protected]>

* Nearly all issues

Signed-off-by: Akvinikym <[email protected]>

* Improved the test

Signed-off-by: Akvinikym <[email protected]>

* Improved the test

Signed-off-by: Akvinikym <[email protected]>
Signed-off-by: kamilsa <[email protected]>
CreateAccount command now respects a set of perms of tx creator

It should not be possible to create an account in a domain which
default role has some permissions that does not have a creator of
a transaction.

Signed-off-by: Igor Egorov <[email protected]>
Signed-off-by: Mikhail Boldyrev <[email protected]>
Hex format in client API

Signed-off-by: kamilsa <[email protected]>
@kamilsa kamilsa requested review from lebdron and neewy December 28, 2018 14:10
* remove common object builders from postgres executor test

Signed-off-by: Victor Drobny <[email protected]>
@Warchant
Copy link
Contributor

Warchant commented Dec 28, 2018

Please give me 1 day, so I can update iroha pure Java and execute tests. Do not merge.

UPD: reported 5 bugs in Discord#bugs

@l4l l4l added the release label Dec 29, 2018
vdrobnyi and others added 4 commits January 5, 2019 17:00
* init connections only once

Signed-off-by: Victor Drobny <[email protected]>
Fix Query & Tx signer in iroha-cli

* Add from_hexstring() to blob_t and fix old model tests
* Fix tx status queries by hex in cli. Add missing statuses to cli

Signed-off-by: Igor Egorov <[email protected]>
@kamilsa kamilsa merged commit 393729c into master Jan 10, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.