From 870ce94b9be824e9e810d12dc5165b73be8f2809 Mon Sep 17 00:00:00 2001 From: Michel Schudel Date: Tue, 16 Jan 2018 15:23:49 +0100 Subject: [PATCH] fixed some bugs. --- frontend/src/app/app.module.ts | 2 +- .../CraftsCoinRestController.java | 8 +++- .../{ => blockchain}/Block.java | 5 ++- .../{ => blockchain}/BlockChain.java | 17 +++---- .../BlockChainRepository.java | 11 ++--- .../{ => blockchain}/BlockchainManager.java | 13 ++++-- .../{ => blockchain}/HashUtil.java | 8 ++-- .../{ => network}/Network.java | 45 ++++++++++++++----- .../{ => network}/PeersRepository.java | 17 ++++--- .../{ => transaction}/Transaction.java | 4 +- .../{ => transaction}/TransactionPool.java | 3 +- .../{ => util}/InstanceInfo.java | 10 +---- .../{ => wallet}/WalletDto.java | 5 ++- .../BlockchainManagerApplicationTests.java | 1 + 14 files changed, 91 insertions(+), 58 deletions(-) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => blockchain}/Block.java (85%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => blockchain}/BlockChain.java (91%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => blockchain}/BlockChainRepository.java (86%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => blockchain}/BlockchainManager.java (90%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => blockchain}/HashUtil.java (82%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => network}/Network.java (78%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => network}/PeersRepository.java (80%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => transaction}/Transaction.java (93%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => transaction}/TransactionPool.java (88%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => util}/InstanceInfo.java (80%) rename src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/{ => wallet}/WalletDto.java (85%) diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index 4650e98..6b7105e 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -16,7 +16,7 @@ import { PeersComponent } from './peers/peers.component'; import { PeersService } from './peers/peers.service'; const routes: Routes = [ - { path: '', redirectTo: '/transactions/pending', pathMatch: 'full' }, + { path: '', redirectTo: '/transactions', pathMatch: 'full' }, { path: 'transactions', component: PendingTransactionsComponent }, { path: 'transactions/create', component: CreateTransactionComponent }, { path: 'blockchain', component: BlockchainComponent }, diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/CraftsCoinRestController.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/CraftsCoinRestController.java index 3cb598d..522150a 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/CraftsCoinRestController.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/CraftsCoinRestController.java @@ -1,5 +1,11 @@ package nl.craftsmen.blockchain.craftsmencoinnode; +import nl.craftsmen.blockchain.craftsmencoinnode.blockchain.Block; +import nl.craftsmen.blockchain.craftsmencoinnode.blockchain.BlockChain; +import nl.craftsmen.blockchain.craftsmencoinnode.blockchain.BlockchainManager; +import nl.craftsmen.blockchain.craftsmencoinnode.network.Network; +import nl.craftsmen.blockchain.craftsmencoinnode.transaction.Transaction; +import nl.craftsmen.blockchain.craftsmencoinnode.wallet.WalletDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -77,7 +83,7 @@ public class CraftsCoinRestController { * @param peer the peer that initiated the request. * @param block the new block. */ - @PostMapping("api/newblock") + @PostMapping("/api/newblock") public void newBlock(@RequestHeader(value = "peer", required = false) String peer, @RequestBody Block block) { blockchainManager.newBlockReceived(block, peer); } diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/Block.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/Block.java similarity index 85% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/Block.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/Block.java index b86ec46..1c5036d 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/Block.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/Block.java @@ -1,6 +1,7 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.blockchain; import com.fasterxml.jackson.annotation.JsonAutoDetect; +import nl.craftsmen.blockchain.craftsmencoinnode.transaction.Transaction; import java.util.HashSet; import java.util.Set; @@ -18,7 +19,7 @@ public class Block { public Block() { } - public Block(long index, long timestamp, Set transactions, long proof, String previousHash) { + Block(long index, long timestamp, Set transactions, long proof, String previousHash) { this.index = index; this.timestamp = timestamp; this.transactions = new HashSet<>(transactions); diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockChain.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/BlockChain.java similarity index 91% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockChain.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/BlockChain.java index 5a7047c..2b46420 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockChain.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/BlockChain.java @@ -1,7 +1,8 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.blockchain; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; +import nl.craftsmen.blockchain.craftsmencoinnode.transaction.Transaction; import java.time.Instant; import java.util.ArrayList; @@ -42,7 +43,8 @@ public class BlockChain { public long getIndexOfNextBlock() { return getIndexOfLastBlock() + 1; } - public long getIndexOfLastBlock() { + + private long getIndexOfLastBlock() { Block block = getLastBlock(); return block != null ? block.getIndex() : -1; } @@ -91,16 +93,7 @@ public class BlockChain { public boolean isNewBlockValid(Block newBlock) { Block lastBlock = getLastBlock(); - - if (!newBlock.getPreviousHash().equals(HashUtil.hash(lastBlock))) { - return false; - } - if (!validProof(lastBlock.getProof(), newBlock.getProof())) { - return false; - } - - return true; - + return newBlock.getPreviousHash().equals(HashUtil.hash(lastBlock)) && validProof(lastBlock.getProof(), newBlock.getProof()); } public long proofOfWork() { diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockChainRepository.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/BlockChainRepository.java similarity index 86% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockChainRepository.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/BlockChainRepository.java index cf8a0a3..eab2735 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockChainRepository.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/BlockChainRepository.java @@ -1,7 +1,8 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.blockchain; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; +import nl.craftsmen.blockchain.craftsmencoinnode.util.InstanceInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -11,7 +12,7 @@ import java.io.File; import java.io.IOException; @Component -public final class BlockChainRepository { +final class BlockChainRepository { private InstanceInfo instanceInfo; @@ -19,11 +20,11 @@ public final class BlockChainRepository { private static final Logger LOGGER = LoggerFactory.getLogger(BlockChainRepository.class); @Autowired - public BlockChainRepository(InstanceInfo instanceInfo) { + BlockChainRepository(InstanceInfo instanceInfo) { this.instanceInfo = instanceInfo; } - public BlockChain loadBlockChain() { + BlockChain loadBlockChain() { try { File file = createBlockchainFileForThisNode(); LOGGER.info("trying to load blockchain for this node under filename {}", file.getName()); @@ -41,7 +42,7 @@ public final class BlockChainRepository { } } - public void saveBlockChain(BlockChain blockChain) { + void saveBlockChain(BlockChain blockChain) { try { File file = createBlockchainFileForThisNode(); ObjectMapper objectMapper = new ObjectMapper(); diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockchainManager.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/BlockchainManager.java similarity index 90% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockchainManager.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/BlockchainManager.java index e20f0e0..2c005eb 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockchainManager.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/BlockchainManager.java @@ -1,5 +1,9 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.blockchain; +import nl.craftsmen.blockchain.craftsmencoinnode.transaction.Transaction; +import nl.craftsmen.blockchain.craftsmencoinnode.transaction.TransactionPool; +import nl.craftsmen.blockchain.craftsmencoinnode.wallet.WalletDto; +import nl.craftsmen.blockchain.craftsmencoinnode.network.Network; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -58,7 +62,10 @@ public class BlockchainManager { } public long newTransaction(Transaction transaction, String sourcePeer) { - LOGGER.info("received transaction: {}", transaction); + LOGGER.info("received transaction: {} from source peer {}", transaction, sourcePeer); + if (transaction.getId() == null) { + transaction = new Transaction(transaction.getFrom(), transaction.getTo(), transaction.getAmount()); + } if (!transactionPool.getCurrentTransactions().contains(transaction)) { LOGGER.info("transaction {} is new, adding it to the list of pending transactions.", transaction); transactionPool.addTransaction(transaction); @@ -87,7 +94,7 @@ public class BlockchainManager { - public void reachConsensus() { + private void reachConsensus() { List otherChains = network.retrieveBlockchainsFromPeers(); LOGGER.info("blockchains from peers received. Checking..."); for (BlockChain otherChain : otherChains) { diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/HashUtil.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/HashUtil.java similarity index 82% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/HashUtil.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/HashUtil.java index db5cd38..77c0870 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/HashUtil.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/blockchain/HashUtil.java @@ -1,4 +1,4 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.blockchain; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -7,9 +7,9 @@ import org.apache.commons.codec.binary.Hex; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -public class HashUtil { +class HashUtil { - public static String hash(Block block) { + static String hash(Block block) { try { ObjectMapper mapper = new ObjectMapper(); String blockString = mapper.writeValueAsString(block); @@ -21,7 +21,7 @@ public class HashUtil { } - public static String createHash(String aString) { + static String createHash(String aString) { try { MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest(aString.getBytes()); diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/Network.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/network/Network.java similarity index 78% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/Network.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/network/Network.java index 7ec45ad..9b06e3e 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/Network.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/network/Network.java @@ -1,11 +1,17 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.network; +import nl.craftsmen.blockchain.craftsmencoinnode.blockchain.Block; +import nl.craftsmen.blockchain.craftsmencoinnode.blockchain.BlockChain; +import nl.craftsmen.blockchain.craftsmencoinnode.transaction.Transaction; +import nl.craftsmen.blockchain.craftsmencoinnode.util.InstanceInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; import org.springframework.web.client.ResourceAccessException; @@ -14,7 +20,10 @@ import org.springframework.web.client.RestTemplate; import javax.annotation.PostConstruct; import java.net.InetAddress; import java.net.UnknownHostException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; import java.util.stream.Collectors; @Component @@ -49,12 +58,13 @@ public class Network { peers = peersRepository.loadPeers(); } - public void notifyPeersOfNewTransaction(Transaction transaction, String sourePeer) { - Set collect = peers.stream().filter(p -> !p.equals(sourePeer)).collect(Collectors.toSet()); + public void notifyPeersOfNewTransaction(Transaction transaction, String sourcePeer) { + Set collect = peers.stream().filter(p -> !p.equals(sourcePeer)).collect(Collectors.toSet()); LOGGER.info("notifying the following peers of transaction {}: {}", transaction, collect); for (String node : collect) { HttpEntity entity = new HttpEntity<>(transaction, createHttpHeaders()); - post(node, "/newtransaction", entity, Object.class); + post(node, "/newtransaction", entity, new ParameterizedTypeReference() { + }); } } @@ -64,7 +74,7 @@ public class Network { LOGGER.info("notifying the following peers of new block {}: {}", newBlock, collect); for (String node : peers.stream().filter(p -> !p.equals(sourcePeer)).collect(Collectors.toSet())) { HttpEntity entity = new HttpEntity<>(newBlock, createHttpHeaders()); - post(node, "newblock", entity, null); + post(node, "/newblock", entity, new ParameterizedTypeReference() {}); } } @@ -89,7 +99,8 @@ public class Network { } else { LOGGER.info("registering this node to peers {}", peers); for (String peer : peers) { - ResponseEntity listResponseEntity = post(peer, "/registernode", instanceInfo.getNode(), Set.class); + ResponseEntity> listResponseEntity = post(peer, "/registernode", instanceInfo.getNode(), new ParameterizedTypeReference>() { + }); if (listResponseEntity != null) { Set list = listResponseEntity.getBody(); LOGGER.info("remote peer {} returned peer list: {}", peer, list); @@ -106,7 +117,8 @@ public class Network { LOGGER.info("peer {} is not previously known to this node. Peer registration will be forwarded to known peer: {}", newPeer, peers); peers.add(newPeer); for (String node : peers.stream().filter(p -> !p.equals(newPeer)).collect(Collectors.toSet())) { - ResponseEntity listResponseEntity = post(node, "/registernode", newPeer, Set.class); + ResponseEntity> listResponseEntity = post(node, "/registernode", newPeer, new ParameterizedTypeReference>() { + }); if (listResponseEntity != null) { Set list = listResponseEntity.getBody(); peers.addAll(list.stream().filter(e -> !e.equals(instanceInfo.getNode())).collect(Collectors.toSet())); @@ -138,10 +150,17 @@ public class Network { } - private ResponseEntity post(String peer, String action, Object object, Class clazz) { + + private ResponseEntity post(String peer, String action, Object object, ParameterizedTypeReference typeRef) { try { - ResponseEntity response = restTemplate.postForEntity("http://" + peer + "/api" + action, object, clazz, (Object) null); - return response; + HttpEntity httpEntity; + if (object instanceof HttpEntity) { + httpEntity = (HttpEntity)object; + } else { + httpEntity = new HttpEntity<>(object); + } + return restTemplate.exchange("http://" + peer + "/api" + action, HttpMethod.POST, httpEntity, typeRef); + //return restTemplate.postForEntity("http://" + peer + "/api" + action, object, clazz, (Object) null); } catch (ResourceAccessException e) { LOGGER.warn("peer {} not found, removing from peer list.", peer); peers.remove(peer); @@ -150,12 +169,14 @@ public class Network { return null; } + private String createHostEndpoint() { return this.bootstrapPeerHost + ":" + bootstrapPeerPort; } private void registerThroughBootstrapNode() { - ResponseEntity listResponseEntity = post(createHostEndpoint(), "/registernode", instanceInfo.getNode(), Set.class); + ResponseEntity> listResponseEntity = post(createHostEndpoint(), "/registernode", instanceInfo.getNode(), new ParameterizedTypeReference>() { + }); if (listResponseEntity != null) { Set list = listResponseEntity.getBody(); LOGGER.info("received peer list: {}", list); diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/PeersRepository.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/network/PeersRepository.java similarity index 80% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/PeersRepository.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/network/PeersRepository.java index e7551d7..93488db 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/PeersRepository.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/network/PeersRepository.java @@ -1,7 +1,9 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.network; +import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; +import nl.craftsmen.blockchain.craftsmencoinnode.util.InstanceInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -13,7 +15,7 @@ import java.util.HashSet; import java.util.Set; @Component -public final class PeersRepository { +final class PeersRepository { private InstanceInfo instanceInfo; @@ -21,18 +23,21 @@ public final class PeersRepository { private static final Logger LOGGER = LoggerFactory.getLogger(PeersRepository.class); @Autowired - public PeersRepository(InstanceInfo instanceInfo) { + PeersRepository(InstanceInfo instanceInfo) { this.instanceInfo = instanceInfo; } - public Set loadPeers() { + Set loadPeers() { try { File file = createPeersFileForThisNode(); LOGGER.info("trying to load peers for this node under filename {}", file.getName()); if (file.exists()) { LOGGER.info("existing peers file found, loading..."); ObjectMapper objectMapper = new ObjectMapper(); - Set peers = objectMapper.readValue(file, Set.class); + TypeReference> typeRef + = new TypeReference>() { + }; + Set peers = objectMapper.readValue(file, typeRef); LOGGER.info("peers succesfully loaded!"); return peers; } else { @@ -43,7 +48,7 @@ public final class PeersRepository { } } - public void savePeers(Set peers) { + void savePeers(Set peers) { try { File file = createPeersFileForThisNode(); ObjectMapper objectMapper = new ObjectMapper(); diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/Transaction.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/transaction/Transaction.java similarity index 93% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/Transaction.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/transaction/Transaction.java index b6c3826..77ce5a4 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/Transaction.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/transaction/Transaction.java @@ -1,6 +1,7 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.transaction; import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; import java.util.UUID; @@ -26,6 +27,7 @@ public class Transaction { } + @JsonProperty() public UUID getId() { return id; } diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/TransactionPool.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/transaction/TransactionPool.java similarity index 88% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/TransactionPool.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/transaction/TransactionPool.java index bb30eda..1bfc051 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/TransactionPool.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/transaction/TransactionPool.java @@ -1,5 +1,6 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.transaction; +import nl.craftsmen.blockchain.craftsmencoinnode.blockchain.BlockchainManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/InstanceInfo.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/util/InstanceInfo.java similarity index 80% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/InstanceInfo.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/util/InstanceInfo.java index f472581..a396748 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/InstanceInfo.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/util/InstanceInfo.java @@ -1,4 +1,4 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -16,10 +16,8 @@ public class InstanceInfo { private static final Logger LOGGER = LoggerFactory.getLogger(InstanceInfo.class); private ServerProperties serverProperties; - private String host; private int port; private String node; - private String hostnameNode; @Autowired public InstanceInfo(ServerProperties serverProperties) { @@ -32,11 +30,8 @@ public class InstanceInfo { String host = Inet4Address .getLocalHost() .getHostAddress(); - String hostName = Inet4Address - .getLocalHost().getHostName(); this.port = serverProperties.getPort(); this.node = host + ":" + serverProperties.getPort(); - this.hostnameNode = hostName + ":" + serverProperties.getPort(); LOGGER.info("node name of this node is {}", node); } catch (UnknownHostException e) { throw new RuntimeException(e); @@ -53,9 +48,6 @@ public class InstanceInfo { return node; } - public String getHostnameNode() { - return hostnameNode; - } public int getPort() { return port; diff --git a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/WalletDto.java b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/wallet/WalletDto.java similarity index 85% rename from src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/WalletDto.java rename to src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/wallet/WalletDto.java index 8974d18..d0229fa 100644 --- a/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/WalletDto.java +++ b/src/main/java/nl/craftsmen/blockchain/craftsmencoinnode/wallet/WalletDto.java @@ -1,8 +1,11 @@ -package nl.craftsmen.blockchain.craftsmencoinnode; +package nl.craftsmen.blockchain.craftsmencoinnode.wallet; + +import nl.craftsmen.blockchain.craftsmencoinnode.transaction.Transaction; import java.math.BigDecimal; import java.util.List; + public class WalletDto { private BigDecimal balance; diff --git a/src/test/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockchainManagerApplicationTests.java b/src/test/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockchainManagerApplicationTests.java index 98154c5..e726ef2 100644 --- a/src/test/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockchainManagerApplicationTests.java +++ b/src/test/java/nl/craftsmen/blockchain/craftsmencoinnode/BlockchainManagerApplicationTests.java @@ -1,5 +1,6 @@ package nl.craftsmen.blockchain.craftsmencoinnode; +import nl.craftsmen.blockchain.craftsmencoinnode.util.InstanceInfo; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; -- 2.22.2