Skip to content
This repository was archived by the owner on Aug 23, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
33d577c
Feat: making IRI use the initialSnapshot and the solidEntryPoints
Nov 9, 2018
1e28709
Refactor: removed debug messages
Nov 9, 2018
747073b
Fix: fixed a bug where snapshots where not loaded from the disk
Nov 9, 2018
fea2b19
Fix: removed spamming logger
Nov 9, 2018
8f73c12
Merge branch 'dev' of https://github.com/iotaledger/iri into merge_in…
Nov 12, 2018
a30f284
Refactor: removed unnecessary import
Nov 12, 2018
f260eb8
Update src/main/java/com/iota/iri/TransactionValidator.java
GalRogozinski Nov 12, 2018
b19fec0
Merge pull request #1135 from iotadevelopment/merge_initialsnapshot
GalRogozinski Nov 12, 2018
2c247d7
Merge branch 'dev' of https://github.com/iotaledger/iri into dev-loca…
Nov 12, 2018
80c8ea5
Merge branch 'dev' of https://github.com/iotaledger/iri into dev-loca…
Nov 15, 2018
48a6c03
Docs: fixed a problem with missing parameters in the docs
Nov 15, 2018
7796812
Feat: new MilestoneTracker
Nov 15, 2018
061bb4c
Docs: fixed erroneous javadocs
Nov 15, 2018
ee5faf4
Refactor: addressed some of the codacy issues
Nov 15, 2018
b7586d0
Refactor: moved dependencies to constructor
Nov 15, 2018
f772449
Docs: fixed missing doc
Nov 15, 2018
fc0776a
Merge branch 'dev' of https://github.com/iotaledger/iri into dev-loca…
Nov 18, 2018
8df59e3
Merge branch 'dev-localsnapshots' of https://github.com/iotaledger/ir…
Nov 18, 2018
138faa1
Refactor: removed the repair routines for db inconsistencies
Nov 18, 2018
1e7bc3a
Refactor: removed unused code
Nov 19, 2018
b4965e9
Refactor: addresses change requests from PR
Nov 19, 2018
15b50b3
Refactor: changed to a more specific config type
Nov 19, 2018
064d32f
Merge pull request #1151 from iotadevelopment/merge_milestonetracker_…
GalRogozinski Nov 19, 2018
7e7cfce
Merge branch 'dev' of https://github.com/iotaledger/iri into dev-loca…
Nov 19, 2018
6170eb6
Refactor: intermediare commit
Nov 19, 2018
dfe0db7
Refactor: refactored the LocalSnapshotManagerImpl
Nov 19, 2018
ac8d61b
Refactor: removed unnecessary imports
Nov 19, 2018
90e6430
Refactor: refactored the SnapshotProviderImpl
Nov 19, 2018
9e16021
Refactor: refactored the SnapshotServiceImpl
Nov 19, 2018
da3c141
Refactor: refactored CumulativeWeightCalculator
Nov 19, 2018
8e61795
Refactor: refactored EntryPointSelectorImpl
Nov 19, 2018
b432398
Refactor: refactored AsyncTransactionPruner
Nov 19, 2018
5fc9045
Refactor: refactored DedicatedScheduledExecutorService
Nov 19, 2018
0ee30e3
Refactor: refactored remaining classes
Nov 20, 2018
f8af243
Refactor: refactored parts of the tests
Nov 20, 2018
aa4af3f
Refactor: refactor complete
Nov 20, 2018
5be6638
Refactor: fixed issues according to codacy
Nov 20, 2018
6a609b5
Update src/main/java/com/iota/iri/service/ledger/impl/LedgerServiceIm…
GalRogozinski Nov 20, 2018
52bf647
Refactor: changed according to gals request
Nov 20, 2018
474ba4c
Merge pull request #1172 from iotadevelopment/merge_dependencyhandling
GalRogozinski Nov 20, 2018
b2825bd
Merge branch 'dev' of https://github.com/iotaledger/iri into dev-loca…
Nov 20, 2018
2b59f57
Introducing a parameter validation for the local snapshot config para…
Nov 20, 2018
37ff796
bump version to 1.6.0-RC1 (#1177)
GalRogozinski Nov 21, 2018
b2e32c8
Fix: hotfix for the solidification bug
Nov 22, 2018
9572c33
Refactor: refactored some methods to make them easier to understand
Nov 22, 2018
867a62b
Refactor: put more emphasize on the PREVIOUS aspect (explaining the - 1)
Nov 22, 2018
0a1be72
Fix: fixed a bug where the milestoneIndex could change while iteration
Nov 22, 2018
1e940f5
Docs: adjusted the docs to reflect the referenced milestone
Nov 22, 2018
4fd26f8
rename to start transaction
Nov 22, 2018
18b5a09
Merge branch 'iotadevelopment-merge_hotfix' into dev-localsnapshots
Nov 22, 2018
1263ef5
bump version to 1.6.0-RC2
Nov 22, 2018
535eab2
Regression: Fix Machine 1 Broadcast Test (#1188)
DyrellC Nov 25, 2018
506e074
Introducing a repair mechanism for corruptions in the ledger database…
Nov 25, 2018
68add53
bump version to 1.6.0-RC3
Nov 25, 2018
833b404
Introducing a dedicated Transaction Requester Background Worker (#1178)
Nov 25, 2018
403763d
bump version to 1.6.0-RC4
Nov 25, 2018
41d909a
Fix: removed intertwined locks to prevent deadlocks (#1195)
Nov 26, 2018
aaf5243
bump to version 1.6.0-RC5
Nov 26, 2018
fec0935
Feat: Added an option to fast forward the ledger state (#1196)
Nov 29, 2018
b7f18fa
bump version to RC6
Nov 29, 2018
6ee68bc
Perf: Massively improved the performance of the replayMilestones meth…
Nov 29, 2018
8ad8f16
Perf: limit the amount of milestones that need to be analyzed (#1198)
Nov 29, 2018
433d26a
Refactor: removed grace time (#1199)
Nov 29, 2018
eb17737
bump version to RC7
Nov 29, 2018
ef78826
Refactor: removed the old unused classes (#1205)
Dec 2, 2018
2c76295
Local_Snapshots_Pruning_Enabled is always false if Local_Snapshots_En…
GalRogozinski Dec 7, 2018
4f6c53a
Refactor: made boolean parameters receive a value (#1224)
Dec 10, 2018
08444bc
Increase rescan performance of old milestones after IRI restart (#1204)
Dec 10, 2018
f60699b
bump version to 1.6.0-RC8
Dec 10, 2018
ffa7a37
Feat: Disable snapshot logic completely if disabled in the config (#1…
Dec 11, 2018
a1c716b
Fix: node requested old transactions forever
Dec 13, 2018
506e205
Fix: allow the transactionRequester to also send non-solid tips
Dec 13, 2018
df04e1b
Merge pull request #1235 from iotadevelopment/merge_txrequesterfix
GalRogozinski Dec 13, 2018
c5face6
Bump to version 1.6.0-RC9
Dec 13, 2018
0af68f3
SolidificationConfig for the tipsolidifier (#1243)
kwek20 Dec 20, 2018
f596b02
Bump to version 1.6.0-RC10
Dec 20, 2018
4fe2d7d
Set minimum values for LS (#1248)
kwek20 Dec 22, 2018
29fdfa0
update global snapshot timestamp and start milestone
Dec 22, 2018
c1bf18f
update snapshotMainnet.txt
Dec 22, 2018
3eee436
update snapshotMainnet.sig and index
Dec 22, 2018
256d012
add previousEpochSpentAddresses3.txt
Dec 22, 2018
0203979
Merge pull request #1250 from GalRogozinski/global-snapshot
GalRogozinski Dec 22, 2018
7fed864
bump version to 1.6.0-RC11
Dec 22, 2018
793258d
disable local-snapshots
Dec 22, 2018
5322b8b
change version to 1.5.6-Release
Dec 22, 2018
4340ace
delete extraneous file
Dec 22, 2018
9bb42c5
update changelog
Dec 22, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions DOCKER.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@

Run the official iotaledger/iri container, passing the mandatory -p option:

```docker run iotaledger/iri:v1.5.5 -p 14265```
```docker run iotaledger/iri:v1.5.6-RELEASE -p 14265```


This will get your a running IRI with its API listening on port 14265, no neighbours and an empty database. The IRI Docker container by default expects data at /iri/data. Use the `-v` option of the `docker run` command to mount volumes so to have persistent data. You can also pass more command line options to the docker run command and those will be passed to IRI.

If you want to use a iri.ini file with the docker container, supposing it's stored under /path/to/conf/iri.ini on your docker host, then pass `-v /path/to/conf:/iri/conf` and add -c /iri/conf/iri.ini as docker run arguments. So for example the `docker run` command above would become:

```docker run -v /path/to/conf:/iri/conf -v /path/to/data:/iri/data iotaledger/iri:v1.5.5 -p 14265 -c /iri/conf/iri.ini```
```docker run -v /path/to/conf:/iri/conf -v /path/to/data:/iri/data iotaledger/iri:v1.5.6-RELEASE -p 14265 -c /iri/conf/iri.ini```

Please refer to the IRI documentation for further command line options and iri.ini options.

Expand Down Expand Up @@ -61,7 +62,7 @@ ExecStart=/usr/bin/docker run \
-p 14265:14265 \
-p 15600:15600 \
-p 14600:14600/udp \
iotaledger/iri:v1.5.5 \
iotaledger/iri:v1.5.6-RELEASE \
-p 14265 \
--zmq-enabled \
--testnet
Expand Down
77 changes: 77 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,80 @@
1.5.6
- Global Snapshot (#1250)
- Refactor: refactored DedicatedScheduledExecutorService
- Refactor: refactored AsyncTransactionPruner
- Refactor: refactored EntryPointSelectorImpl
- Refactor: refactored CumulativeWeightCalculator
- Refactor: refactored the SnapshotServiceImpl
- Refactor: refactored the SnapshotProviderImpl
- Refactor: refactored the LocalSnapshotManagerImpl
- Fix remove source port check (#1156)
- Documented IRI and Iota (#1150)
- Added documentation for networking
- Refactor: removed the repair routines for db inconsistencies
- Document dto (#1143)
- Added javadoc to API (#1140)
- Docs: fixed erroneous javadocs
- Feat: new MilestoneTracker
- Docs: fixed a problem with missing parameters in the docs
- split issues template to bug report and feature request (#1149)
- Transaction Validator Documentation (#1142)
- Document Bundle Validator (#1125)
- Document zmq-messageQ (#1141)
- Changed generic to always Transaction (#1129)
- Document crypto package (#1139)
- document converter (#1130)
- change `hash` package name to `crypto` (#1136)
- Fix: removed spamming logger
- Refactor: removed debug messages
- Feat: making IRI use the initialSnapshot and the solidEntryPoints
- Refactor: refactored changes according to codacy
- Feat: introducing several executor services for IRI
- add "numberOfStaleTransactions" to getNeighbors API call (#1121)
- Documentation explanation in styleguide (#1120)
- update regression tests
- add 'coordinatorAddress' to 'getNodeInfo' response.
- Added PearlDiver config (PoW threads) (#1017)
- Obtain features of a node (#1062)
- Refactor: changed indentation of IS_SOLID_BITMASK
- Refactor: correct name for the isMilestone flag
- Refactor: removed the requester thread in favor of a separate PR
- Refactor: changed indentation of isTransactionRequested
- Refactor: removed wrong * 4
- Regression ciglue.sh: avoid git fatal error when cloning TIAB (#1104)
- Return early if validating a bundle that has a known invalid status (#1098)
- Fixed wrong Hash objects used
- Fix: fixed visibility of the Status in the MilestoneTracker
- Feat: added hashcode to the Messages in IntervallLogger
- Feat: added the isSnapshot accessors
- Feat: fixed a few minor issues in IRI + some other improvements
- Feat: added the snapshot package
- Add Validation Test (#55)
- Interrupt wait time fix (#54)
- add code coverage to regression tests
- use mvn to fetch version
- Fix: fixed ThreadUtils to use Map instead of HashMap
- Add a Java Styleguide to IRI (#1055)
- fix code coverage tool d/l (#1085)
- javadocs param fix (#1081)
- update undertow to version 1.4.26 (#1083)
- Update DB for stitching tests (#60)
- Gawk -> Awk
- Revert "Kubectl extracted namespace could be empty"
- Kubectl extracted namespace could be empty
- Force TIAB virtualenv to Python2
- add reply to request to "recentSeenBytes" tx cache in order to skip redundant processing.
- extract byte digest to a function.
- Update DB for stitching tests
- Refactor: refactored the transactionpruner
- Enable validation of milestones with additional hash modes and security levels (#1041)
- Run regression tests from local (#58)
- add formatting files
- Fix missing responses placement for interrupt test (#53)
- rename addresses to addressList
- Move variables to world environment (#50)
- fix milestone -> milestoneTracker


1.5.5
- Javadoc on API command methods (#943)
- Parse case insensitive boolean text (#966)
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>com.iota</groupId>
<artifactId>iri</artifactId>
<version>1.5.5</version>
<version>1.5.6-RELEASE</version>

<name>IRI</name>
<description>IOTA Reference Implementation</description>
Expand Down
3 changes: 3 additions & 0 deletions python-regression/tests/features/machine1/1_api_tests.feature
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,9 @@ Feature: Test API calls on Machine 1
|tag |TEST9TAG9ONE |string |
|value |0 |int |

#Give the transaction time to propagate
And we wait "3" second/seconds

And "findTransactions" is called on "nodeB" with:
|keys |values |type |
|tags |TEST9TAG9ONE |list |
Expand Down
17 changes: 10 additions & 7 deletions src/main/java/com/iota/iri/BundleValidator.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.iota.iri.controllers.TransactionViewModel;
import com.iota.iri.crypto.*;
import com.iota.iri.model.Hash;
import com.iota.iri.service.snapshot.Snapshot;
import com.iota.iri.storage.Tangle;
import com.iota.iri.utils.Converter;

Expand Down Expand Up @@ -46,14 +47,16 @@ public class BundleValidator {
* again.
*</p>
* @param tangle used to fetch the bundle's transactions from the persistence layer
* @param initialSnapshot the initial snapshot that defines the genesis for our ledger state
* @param tailHash the hash of the last transaction in a bundle.
* @return A list of transactions of the bundle contained in another list. If the bundle is valid then the tail
* transaction's {@link TransactionViewModel#getValidity()} will return 1, else
* {@link TransactionViewModel#getValidity()} will return -1.
* If the bundle is invalid then an empty list will be returned.
* @throws Exception if a persistence error occured
*/
public static List<List<TransactionViewModel>> validate(Tangle tangle, Hash tailHash) throws Exception {
public static List<List<TransactionViewModel>> validate(Tangle tangle, Snapshot initialSnapshot, Hash tailHash) throws Exception {

TransactionViewModel tail = TransactionViewModel.fromHash(tangle, tailHash);
if (tail.getCurrentIndex() != 0 || tail.getValidity() == -1) {
return Collections.EMPTY_LIST;
Expand Down Expand Up @@ -93,12 +96,12 @@ public static List<List<TransactionViewModel>> validate(Tangle tangle, Hash tail
|| ((bundleValue = Math.addExact(bundleValue, transactionViewModel.value())) < -TransactionViewModel.SUPPLY
|| bundleValue > TransactionViewModel.SUPPLY)
) {
instanceTransactionViewModels.get(0).setValidity(tangle, -1);
instanceTransactionViewModels.get(0).setValidity(tangle, initialSnapshot, -1);
break;
}
//we lose the last trit by converting from bytes
if (transactionViewModel.value() != 0 && transactionViewModel.getAddressHash().trits()[Curl.HASH_LENGTH - 1] != 0) {
instanceTransactionViewModels.get(0).setValidity(tangle, -1);
instanceTransactionViewModels.get(0).setValidity(tangle, initialSnapshot, -1);
break;
}

Expand Down Expand Up @@ -145,20 +148,20 @@ public static List<List<TransactionViewModel>> validate(Tangle tangle, Hash tail
addressInstance.squeeze(addressTrits, 0, addressTrits.length);
//signature verification
if (! Arrays.equals(transactionViewModel.getAddressHash().trits(), addressTrits)) {
instanceTransactionViewModels.get(0).setValidity(tangle, -1);
instanceTransactionViewModels.get(0).setValidity(tangle, initialSnapshot, -1);
break MAIN_LOOP;
}
} else {
j++;
}
}
//should only be reached after the above for loop is done
instanceTransactionViewModels.get(0).setValidity(tangle, 1);
instanceTransactionViewModels.get(0).setValidity(tangle, initialSnapshot, 1);
transactions.add(instanceTransactionViewModels);
}
//bundle hash verification failed
else {
instanceTransactionViewModels.get(0).setValidity(tangle, -1);
instanceTransactionViewModels.get(0).setValidity(tangle, initialSnapshot, -1);
}
}
//bundle validity status is known
Expand All @@ -168,7 +171,7 @@ public static List<List<TransactionViewModel>> validate(Tangle tangle, Hash tail
}
//total bundle value does not sum to 0
else {
instanceTransactionViewModels.get(0).setValidity(tangle, -1);
instanceTransactionViewModels.get(0).setValidity(tangle, initialSnapshot, -1);
}
//break from main loop
break;
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/com/iota/iri/IRI.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@
import com.iota.iri.conf.IotaConfig;
import com.iota.iri.service.API;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

import com.beust.jcommander.JCommander;
import com.beust.jcommander.ParameterException;

import org.apache.commons.lang3.ArrayUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
*
* Main IOTA Reference Implementation (IRI) starting class.
Expand All @@ -42,7 +42,7 @@ public class IRI {

public static final String MAINNET_NAME = "IRI";
public static final String TESTNET_NAME = "IRI Testnet";
public static final String VERSION = "1.5.5";
public static final String VERSION = "1.5.6-RELEASE";

/**
* The entry point of IRI.
Expand Down Expand Up @@ -195,4 +195,4 @@ else if (IotaConfig.CONFIG_FILE.exists()) {
return null;
}
}
}
}
Loading