Skip to content

Commit

Permalink
Merge pull request #1194 from ApolloFoundation/stage
Browse files Browse the repository at this point in the history
Apollo Blockchain 1.48.11 Release
  • Loading branch information
AndrewBoyarsky committed Nov 19, 2021
2 parents 036ff65 + caa2114 commit ba07d0b
Show file tree
Hide file tree
Showing 1,736 changed files with 54,819 additions and 111,960 deletions.
69 changes: 58 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,31 @@

# Apollo Blockchain Platform Core

## Disclaimer.
Apollo team is actively working on modularity of Apollo blockhain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at [Apollo Releases page](https://github.com/ApolloFoundation/Apollo/releases).

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, escpecially in "development" branches of the Apollo project repositroies.


Apollo is being developed by the Apollo Foundation and supporting members of the community.

This repository contains core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.
This repository contains core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.


There are other components that are parts of Apollo:

1. [Apollo-web-ui](https://github.com/ApolloFoundation/Apollo-web-ui): Web wallet UI that is served by Apollo blockchain node and can be accersed by browser at http://localhost:7876
2. [Apollo-dektop](https://github.com/ApolloFoundation/Apollo-desktop) Desktop wallet UI. Apollo-web-ui must be installed tobe able to run Apollo desktop wallet.
3. [Apollo-tools](https://github.com/ApolloFoundation/Apollo-tools): "swiss knife" of tools for node maintenance, transaction signing, etc.
4. [Apollo-bom-ext](https://github.com/ApolloFoundation/Apollo-bom-ext) This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.
4. [Apollo-bom-ext](https://github.com/ApolloFoundation/Apollo-bom-ext) This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.


## Requirements

Java 11 (JRE) is required to run the most Apollo components.


# Build instruction #
# Build instruction

## Disclaimer.

Apollo team is actively working on modularity of Apollo blockhain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at [Apollo Releases page](https://github.com/ApolloFoundation/Apollo/releases).

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, escpecially in "development" branches of the Apollo project repositroies.

## Java versions

Expand Down Expand Up @@ -101,7 +103,52 @@ __master__ branch contains stable code of the latest release. It is also tagged

__develop__ branch contains latest development version. Use this branch if you are developer/contributor.

__stage__ branch contains release preparation work of the last release. Do not use this branch if you are not release engineer
__stage__ branch contains release preparation work of the last release. Do not use this branch if you are not release
engineer

fix/*, feature/*, bugfix/** - temporary branches used by developers. Usually those branches get merged to ___develop___
and deleted after work is done.

## MariaDB

### Initiate

1) Open repository https://github.com/ApolloFoundation/dbpackages

2) Change directory to mariadb-pkg and Run script depends on OS.
./maria_db_linux_pkg.sh
./maria_db_osx_pkg.sh
./maria_db_windows_pkg.sh
3) Unzip target packege and start db installation process. (<BASE_DIR>/ApolloWallet/apollo-mariadb is a basedir path)

4) Change directory to apollo-mariadb and run script
./install-mariadb.sh

The default database data directory is <BASE_DIR>/ApolloWallet/apl-blockchain-db.
To specify the custom path of the database data directory use parameter --apl-db-dir,
example:
./install-mariadb.sh --apl-db-dir /home/user/.apl-blockchain/apl-blockchain-db

fix/*, feature/*, bugfix/** - temporary branches used by developers. Ususaly those branmches get merged to ___develop___ and deleted after work is done.
## DOCKER Installation

#### On Linux
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04-ru
should be completed

Article about MariaDB in docker
https://mariadb.com/kb/en/installing-and-using-mariadb-via-docker/

### How create local docker image for unit tests
See [creation local Docker image link](/unit-test-Docker-Image/README.md)

#### Check IP table / firewall settings to access docker
https://github.com/testcontainers/testcontainers-java/issues/572#issuecomment-517831833

$ sudo iptables -L
```
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 172.17.0.0/24 anywhere
```

2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.47.28
1.48.11
22 changes: 21 additions & 1 deletion apl-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.apollocurrency</groupId>
<artifactId>apollo-blockchain</artifactId>
<version>1.47.28</version>
<version>1.48.11</version>
</parent>

<artifactId>apl-api</artifactId>
Expand Down Expand Up @@ -91,12 +91,32 @@
<scope>test</scope>
</dependency>

<!-- Hibernate validator dependencies for tests-->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-cdi</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>javax.el</artifactId>
<scope>test</scope>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Duser.language=en</argLine>
</configuration>
</plugin>
</plugins>
</build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import lombok.Setter;
import lombok.ToString;

import java.util.ArrayList;
import java.util.List;

@AllArgsConstructor
Expand Down Expand Up @@ -42,6 +43,8 @@ public class BlockDTO extends BaseDTO {
private String previousBlockHash;
private String blockSignature;
private String totalAmountATM;
private Integer numberOfFailedTxs;
private List<TxErrorHashDTO> txErrorHashes = new ArrayList<>();

private List<TransactionDTO> transactions;
private List executedPhasedTransactions;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/*
* Copyright © 2018-2021 Apollo Foundation
*/

package com.apollocurrency.aplwallet.api.dto;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
Expand All @@ -14,5 +18,5 @@
@JsonIgnoreProperties(ignoreUnknown = true)
public class DexCurrencyDTO extends BaseDTO{
private String currency;
private List<EthWalletKeyDTO> wallets;
private List<WalletDTO> wallets;
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

package com.apollocurrency.aplwallet.api.dto;


public class JSONTransaction { //implements Transaction {
// private Transaction transaction;
private int numberOfConfirmations;
Expand All @@ -16,167 +15,4 @@ public int getNumberOfConfirmations() {
public void setNumberOfConfirmations(int numberOfConfirmations) {
this.numberOfConfirmations = numberOfConfirmations;
}

// public JSONTransaction(Transaction transaction) {
// this.transaction = transaction;
// }

// @Override
// public int getHeight() {return transaction.getHeight();}
//
// @Override
// public long getId() {return transaction.getId();}
//
// @Override
// public String getStringId() {return transaction.getStringId();}
//
// @Override
// public long getSenderId() {return transaction.getSenderId();}
//
// @Override
// public byte[] getSenderPublicKey() {return transaction.getSenderPublicKey();}
//
// @Override
// public long getRecipientId() {return transaction.getRecipientId();}
//
// @Override
// public long getBlockId() {return transaction.getBlockId();}
//
// @Override
// public Block getBlock() {return transaction.getBlock();}
//
// @Override
// public short getIndex() {return transaction.getIndex();}
//
// @Override
// public int getTimestamp() {return transaction.getTimestamp();}
//
// @Override
// public int getBlockTimestamp() {return transaction.getBlockTimestamp();}
//
// @Override
// public short getDeadline() {return transaction.getDeadline();}
//
// @Override
// public int getExpiration() {return transaction.getExpiration();}
//
// @Override
// public long getAmountATM() {return transaction.getAmountATM();}
//
// @Override
// public long getFeeATM() {return transaction.getFeeATM();}
//
// @Override
// public String getReferencedTransactionFullHash() {return transaction.getReferencedTransactionFullHash();}
//
// @Override
// public byte[] getSignature() {return transaction.getSignature();}
//
// @Override
// public String getFullHash() {return transaction.getFullHash();}
//
// @Override
// public TransactionType getType() {return transaction.getType();}
//
// @Override
// public Attachment getAttachment() {return transaction.getAttachment();}
//
// @Override
// public boolean verifySignature() {return transaction.verifySignature();}
//
// @Override
// public void validate() throws AplException.ValidationException {transaction.validate();}
//
// @Override
// public byte[] getBytes() {return transaction.getBytes();}
//
// @Override
// public byte[] getUnsignedBytes() {return transaction.getUnsignedBytes();}
//
// @Override
// public JSONObject getJSONObject() {return transaction.getJSONObject();}
//
// @Override
// public JSONObject getPrunableAttachmentJSON() {return transaction.getPrunableAttachmentJSON();}
//
// @Override
// public byte getVersion() {return transaction.getVersion();}
//
// @Override
// public int getFullSize() {return transaction.getFullSize();}
//
// @Override
// public Appendix.Message getMessage() {return transaction.getMessage();}
//
// @Override
// public Appendix.EncryptedMessage getEncryptedMessage() {return transaction.getEncryptedMessage();}
//
// @Override
// public Appendix.EncryptToSelfMessage getEncryptToSelfMessage() {return transaction.getEncryptToSelfMessage();}
//
// @Override
// public Appendix.Phasing getPhasing() {return transaction.getPhasing();}
//
// @Override
// public Appendix.PrunablePlainMessage getPrunablePlainMessage() {return transaction.getPrunablePlainMessage();}
//
// @Override
// public Appendix.PrunableEncryptedMessage getPrunableEncryptedMessage() {return transaction.getPrunableEncryptedMessage();}
//
// @Override
// public List<? extends Appendix> getAppendages() {return transaction.getAppendages();}
//
// @Override
// public List<? extends Appendix> getAppendages(boolean includeExpiredPrunable) {return transaction.getAppendages(includeExpiredPrunable);}
//
// @Override
// public List<? extends Appendix> getAppendages(Filter<Appendix> filter, boolean includeExpiredPrunable) {return transaction.getAppendages(filter, includeExpiredPrunable);}
//
// @Override
// public int getECBlockHeight() {return transaction.getECBlockHeight();}
//
// @Override
// public long getECBlockId() {return transaction.getECBlockId();}
//
// public Transaction getTransaction() {
// return transaction;
// }
//
// public void setTransaction(Transaction transaction) {
// this.transaction = transaction;
// }
//
// public BasicAccount getSender() {
// return new BasicAccount(transaction.getSenderId());
// }
//
// public BasicAccount getRecipient() {
// return new BasicAccount(transaction.getRecipientId());
// }
//
// public boolean isPrivate() {
// return getType() == TransactionType.Payment.PRIVATE;
// }
//
// public boolean isOwnedBy(String ownerAccount) {
// BasicAccount ownerBasicAccount = new BasicAccount(ownerAccount);
// return isOwnedBy(ownerBasicAccount);
// }
// public boolean isOwnedBy(BasicAccount ownerAccount) {
// return getRecipient().equals(ownerAccount) || getSender().equals(ownerAccount);
// }
//
// @Override
// public boolean equals(Object o) {
// if (this == o) return true;
// if (!(o instanceof JSONTransaction)) return false;
// JSONTransaction that = (JSONTransaction) o;
// return numberOfConfirmations == that.numberOfConfirmations &&
// Objects.equals(transaction, that.transaction);
// }
//
// @Override
// public int hashCode() {
// return Objects.hash(transaction, numberOfConfirmations);
// }
}

0 comments on commit ba07d0b

Please sign in to comment.