Skip to content
This repository has been archived by the owner on Aug 23, 2020. It is now read-only.

Commit

Permalink
Merge branch 'release-v1.7.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
Gal Rogozinski committed Jun 17, 2019
2 parents dc6dd3d + b8ad84b commit c2ecd17
Show file tree
Hide file tree
Showing 133 changed files with 6,195 additions and 2,235 deletions.
6 changes: 2 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,17 @@ script:
- git checkout -f $TRAVIS_BRANCH
- git checkout $build_head
- git merge $TRAVIS_BRANCH
- mvn integration-test -Dlogging-level=INFO
#run jar sanity tests
- VERSION=$(mvn help:evaluate -Dexpression=project.version | grep -E '^[0-9.]+')
- echo $VERSION
#run jar sanity tests
- mvn integration-test -Dlogging-level=INFO
#jacoco prep (appends to mvn run)
- JACOCO_V=$(mvn help:evaluate -Dexpression=jacoco.version | grep -E '^[0-9.]+')
- export _JAVA_OPTIONS="$_JAVA_OPTIONS -javaagent:$HOME/.m2/repository/org/jacoco/org.jacoco.agent/$JACOCO_V/org.jacoco.agent-$JACOCO_V-runtime.jar=destfile=$PWD/target/jacoco.exec,output=file,append=true,dumponexit=true"
- echo $_JAVA_OPTIONS
- git clone https://github.com/iotaledger/iri-regression-tests.git
- cd iri-regression-tests
- git checkout -f master
- curl -LO https://s3.eu-central-1.amazonaws.com/iotaledger-dbfiles/dev/testnet_files.tgz
- tar -xzf testnet_files.tgz
- mkdir iri
- cp -rf ../target iri/target
- bash run_all_stable_tests.sh $VERSION
Expand Down
6 changes: 3 additions & 3 deletions DOCKER.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

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

```docker run iotaledger/iri:v1.7.0-RELEASE -p 14265```
```docker run iotaledger/iri:vX.X.X-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.7.0-RELEASE -p 14265 -c /iri/conf/iri.ini```
```docker run -v /path/to/conf:/iri/conf -v /path/to/data:/iri/data iotaledger/iri:vX.X.X-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 +61,7 @@ ExecStart=/usr/bin/docker run \
-p 14265:14265 \
-p 15600:15600 \
-p 14600:14600/udp \
iotaledger/iri:v1.7.0-RELEASE \
iotaledger/iri:vX.X.X-RELEASE \
-p 14265 \
--zmq-enabled \
--testnet
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM iotacafe/maven:3.5.4.oracle8u181.1.webupd8.1.1-1 as local_stage_build
FROM iotacafe/maven:3.5.4.oracle8u181.1.webupd8.1.1-1@sha256:5e30eb28d778a65af2498bf1b7ef594adf046d44a8e4f7b32b326d8d10626e93 as local_stage_build
MAINTAINER giorgio@iota.org

WORKDIR /iri
Expand All @@ -7,7 +7,7 @@ COPY . /iri
RUN mvn clean package

# execution image
FROM iotacafe/java:oracle8u181.1.webupd8.1-1
FROM iotacafe/java:oracle8u181.1.webupd8.1-1@sha256:21b0fb1e5b5be7cd239a742238f346e076a46dc0003670cd50f079780288773f

RUN apt-get update && apt-get install -y --no-install-recommends \
jq curl socat \
Expand Down
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The IRI repository is the main IOTA Reference Implementation and the embodiment

This is a full-featured [[IOTA]](https://iota.org/) node with a convenient JSON-REST HTTP interface.
It allows users to become part of the [[IOTA]](https://iota.org) network as both a transaction relay
and network information provider through the easy-to-use [[API]](https://iota.readme.io/reference).
and network information provider through the easy-to-use [[API]](https://docs.iota.org/docs/iri/0.1/references/api-reference).

It is specially designed for users seeking a fast, efficient and fully-compatible network setup.

Expand All @@ -27,8 +27,8 @@ The IOTA network is an independent peer-to-peer network with a first-user, frien
- As a 'friend-to-friend' network, you have the privilege of joining new users into the network through your node
by adding them to your approved neighbors list — ensuring that you both broadcast to them and also receive their broadcasts.

You can **find neighbors** quickly at both our [[Discord Community]](https://discord.gg/7Gu2mG5) and [[forum.iota.org]](https://forum.iota.org/).
You can **find neighbors** on the #nodesharing channel of our [[Discord server]](https://discord.gg/7Gu2mG5).

Everyone will be welcoming and very happy to help you get connected.
If you want to get tokens for your testcase, please just ask in one of the communication channels.

Expand All @@ -39,7 +39,13 @@ please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

# Documentation

This page contains basic instructions for setting up an IRI node. You can find the full documentation on our [documentation website](https://docs.iota.org/iri). Also see the [IRI API refernece](https://iota.readme.io/reference).
This page contains basic instructions for setting up an IRI node. You can find the full documentation on:
- Our [documentation website](https://docs.iota.org/docs/iri/0.1/introduction/overview)
- [IRI API refernece](https://docs.iota.org/docs/iri/0.1/references/api-reference)

You can also use one of these great community guides:
- [IOTA Partners guide](https://iota.partners/)
- [IRI Playbook](https://iri-playbook.readthedocs.io/en/master/index.html)

# Installing

Expand All @@ -61,7 +67,7 @@ $ mvn package

This will create a `target` directory in which you will find the executable jar file that you can use.

### How to run IRI
### How to run IRI

#### Locally

Expand Down
30 changes: 30 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
1.7.1

- Feature: Add getAllAddresses to the spentAdddresses provider. This is to enable exporting with IXI (#1495)
- Fix: update solid flag from past-present (#1492)
- Fix: Remove git-commit plugin (#1483)
- Fix: Prevents IndexOutOfBoundsException within the MilestoneServiceImpl (#1480)
- Change: Disable Tip Solidifier
- Change: Pruning is now off by default (#1471)
- Feature: adds a tip-selection timeout mechanism (#1404)
- Fix: fetch correct arrival time while traversing dags for orphaned transactions. (#1407)
- Fix: recent seen transactions digest (#1453)
- Documentation: Changed <br> usage to <p> (#1457)
- Feature: Doclet annotations (#1155)
- Fix: fixes spent states of addresses not getting persisted on tx pruning (#1437)
- Change: Made API class easier to work with
- Fix: add boolean values to configurations for regression tests
- Fix: Boolean flag consistent usage (#1295)
- Feature: Do not request one transaction at a time (#1311)
- Fix: log inconsistent addresses in debug mode (#1347)
- Feature: Use xxHash instead of SHA-256 on incoming transaction hashes cache (#1326)
- Feature: Added iotacafe/maven and iotacafe/java container full digest with sha256 in Dockerfile's FROM directives. (#1259)
- Feature: Introducing a Cuckoo Filter for local snapshots (#1100)
- Change: Prepare IRI to have its version injected by CI (#1359)
- Change: print out line number in log info. (#1362)
- Feature: Add configuration parameter for remote trusted api hosts (#1203)
- Feature: upgrade RocksDB to version 5.17.2 (#1206)
- Fix: unknown IXI command response (#1327)
- Documentation: readme links fix (#1355)
- Fix: ZMQ publishes to TCP and IPC instead of just one of them

1.7.0
- refactor milestone signature parameters to be configurable (#1322)
- migration from legacy coordinator to compass
Expand Down
2 changes: 1 addition & 1 deletion docker/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ exec java \
-Xmx$JAVA_MAX_MEMORY \
-Djava.net.preferIPv4Stack=true \
-jar $DOCKER_IRI_JAR_PATH \
--remote --remote-limit-api "$DOCKER_IRI_REMOTE_LIMIT_API" \
--remote true --remote-limit-api "$DOCKER_IRI_REMOTE_LIMIT_API" \
"$@"
112 changes: 87 additions & 25 deletions 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.7.0-RELEASE</version>
<version>1.7.1-RELEASE</version>
<name>IRI</name>
<description>IOTA Reference Implementation</description>

Expand All @@ -18,17 +18,25 @@
<properties>
<java-version>1.8</java-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<javadoc-version>3.0.1</javadoc-version>
<javadoc-version>3.1.0</javadoc-version>
<checkstyle-version>3.0.0</checkstyle-version>
<undertow.version>1.4.26.Final</undertow.version>
<jacoco.version>0.7.9</jacoco.version>
<!-- Setting the checkstyle.config.location here will make checkstyle use this file in every maven target.
This variable will be load by checkstyle plugin automatically. It is more global than setting the
configLocation attribute on every maven goal. -->
<checkstyle.config.location>checkstyle.xml</checkstyle.config.location>

<md-doclet-group>com.github.iotaledger</md-doclet-group>
<md-doclet-artifact>java-md-doclet</md-doclet-artifact>
<md-doclet-version>master-SNAPSHOT</md-doclet-version>
</properties>

<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<repository>
<id>sonatype-oss-public</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
Expand Down Expand Up @@ -89,7 +97,7 @@
<dependency>
<groupId>org.rocksdb</groupId>
<artifactId>rocksdbjni</artifactId>
<version>5.7.3</version>
<version>5.17.2</version>
</dependency>

<!-- json support -->
Expand All @@ -103,7 +111,7 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
<version>2.9.8</version>
</dependency>

<!-- undertow server -->
Expand All @@ -124,6 +132,19 @@
<artifactId>undertow-websockets-jsr</artifactId>
<version>${undertow.version}</version>
</dependency>

<!-- RESTEasy Undertow Integration -->
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-undertow</artifactId>
<version>3.6.3.Final</version>
</dependency>

<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>3.6.3.Final</version>
</dependency>

<!-- test dependencies -->

Expand Down Expand Up @@ -195,12 +216,31 @@
<version>1.21</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>${md-doclet-group}</groupId>
<artifactId>${md-doclet-artifact}</artifactId>
<version>${md-doclet-version}</version>
</dependency>

<dependency>
<groupId>pl.touk</groupId>
<artifactId>throwing-function</artifactId>
<version>1.3</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.google.guava/guava-testlib -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>

<dependency>
<groupId>net.openhft</groupId>
<artifactId>zero-allocation-hashing</artifactId>
<version>0.8</version>
</dependency>

</dependencies>

Expand All @@ -218,6 +258,19 @@
<useIncrementalCompilation>false</useIncrementalCompilation>
</configuration>
</plugin>
<!-- Controls how jar is being created -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<!-- The javadoc plugin can be called by running "mvn javadoc:javadoc" and will generate the classic javadoc
files in folder "target/site/apidocs" -->
<plugin>
Expand Down Expand Up @@ -339,7 +392,7 @@
commons-io:commons-io:2.5:jar:null:compile:2852e6e05fbb95076fc091f6d1780f1f8fe35e0f
</urn>
<urn>
org.rocksdb:rocksdbjni:5.7.3:jar:null:compile:421b44ad957a2b6cce5adedc204db551831b553d
org.rocksdb:rocksdbjni:5.17.2:jar:null:compile:bca52276cabe91a3b97cc18e50fa2eabc2986f58
</urn>
<urn>
com.google.code.gson:gson:2.8.1:jar:null:compile:02a8e0aa38a2e21cb39e2f5a7d6704cbdc941da0
Expand Down Expand Up @@ -380,6 +433,14 @@
<urn>
pl.touk:throwing-function:1.3:jar:null:compile:32947866b8754295efde73ee7d39ea29a247a2b5
</urn>

<urn>
org.jboss.resteasy:resteasy-undertow:3.6.3.Final:jar:null:compile:b5d9d0e709de777b87d72927b405a2e88d39d1fa
</urn>

<urn>
org.jboss.resteasy:resteasy-jackson-provider:3.6.3.Final:jar:null:compile:5e999c6a9d18b6f0492ea44765403de164fb4abf
</urn>

<!-- A check for the rules themselves -->
<urn>
Expand Down Expand Up @@ -497,7 +558,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<version>${javadoc-version}</version>
<configuration>
<show>private</show>
<nohelp>true</nohelp>
Expand Down Expand Up @@ -636,10 +697,7 @@
</plugin>

<!-- The javadoc for the report can be called by running "mvn site" and will generate the the iota
documentation in Markdown format. To compile this report you need the iri-mdx-doclet files from:
https://github.com/iotaledger/iri-mdx-doclet. Follow the documentation on the github site to compile
and install the iri-mdx-doclet locally in your maven repository.
documentation in Markdown format.
Note: If you need the classic api documentation run "mvn javadoc:javadoc" instead.
-->
<plugin>
Expand All @@ -650,21 +708,25 @@
<reportSet>
<id>javadoc</id>
<configuration>
<!-- This dependency can be found at: https://github.com/iotaledger/iri-mdx-doclet -->
<doclet>com.iota.mdxdoclet.MDXDoclet</doclet>
<sourcepath>src/main/java</sourcepath>
<useStandardDocletOptions>false</useStandardDocletOptions>
<destDir>mdx</destDir>
<additionalOptions>
<additionalOption>-version "${project.version}"</additionalOption>
</additionalOptions>
<quiet>true</quiet>
<docletArtifact>
<groupId>com.iota</groupId>
<artifactId>mdxdoclet</artifactId>
<version>0.1</version>
</docletArtifact>
</configuration>
<!-- This dependency can be found at: https://github.com/iotaledger/java-md-doclet -->
<doclet>org.iota.mddoclet.MDDoclet</doclet>
<sourcepath>src/main/java</sourcepath>
<useStandardDocletOptions>false</useStandardDocletOptions>
<additionalOptions>
<additionalOption>-version "${project.version}"</additionalOption>
<additionalOption>-classeslist "API"</additionalOption>
<additionalOption>-template "iri"</additionalOption>
<additionalOption>
-repolink "${project.scm.url}blob/master/src/main/java/"
</additionalOption>
</additionalOptions>
<quiet>true</quiet>
<docletArtifact>
<groupId>${md-doclet-group}</groupId>
<artifactId>${md-doclet-artifact}</artifactId>
<version>${md-doclet-version}</version>
</docletArtifact>
</configuration>
<reports>
<report>javadoc</report>
</reports>
Expand Down
2 changes: 1 addition & 1 deletion python-regression/ciglue.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ cd ..
pip install -e .

for machine_dir in tests/features/machine?; do
python tiab/create_cluster.py -i $IMAGE -t $UUID -n $K8S_NAMESPACE -c $machine_dir/config.yml -o $machine_dir/output.yml -d
python tiab/create_cluster.py -i $IMAGE -t $UUID -n $K8S_NAMESPACE -c $machine_dir/config.yml -o $machine_dir/output.yml -x .. -d
if [ $? -ne 0 ]; then
ERROR=1
python <<EOF
Expand Down
18 changes: 15 additions & 3 deletions python-regression/tests/features/machine1/config.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
defaults: &db_1
defaults: &api_tests_config_files
db: https://s3.eu-central-1.amazonaws.com/iotaledger-dbfiles/dev/testnet_files.tgz
db_checksum: 6eaa06d5442416b7b8139e337a1598d2bae6a7f55c2d9d01f8c5dac69c004f75
iri_args: ['--testnet-coordinator',
'BTCAAFIH9CJIVIMWFMIHKFNWRTLJRKSTMRCVRE9CIP9AEDTOULVFRHQZT9QAQBZXXAZGBNMVOOKTKAXTB',
'--milestone-start',
'0',
'--snapshot',
'./snapshot.txt',
'--testnet-no-coo-validation',
'true',
'--testnet',
'true'
]
java_options: -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n -javaagent:/opt/jacoco/lib/jacocoagent.jar=destfile=/iri/jacoco.exec,output=file,append=true,dumponexit=true

seeds: # For internal use by the regression system.
- SEED
- SIID

nodes:
nodeA: #name
<<: *db_1
<<: *api_tests_config_files

nodeB:
<<: *db_1
<<: *api_tests_config_files
Loading

0 comments on commit c2ecd17

Please sign in to comment.