| src/main/java/cc/mrbird/febs/dapp/chain/ContractChainService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/cc/mrbird/febs/dapp/chain/EthService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/cc/mrbird/febs/dapp/chain/TrxService.java | ●●●●● patch | view | raw | blame | history | |
| src/test/java/cc/mrbird/febs/ChainTest.java | ●●●●● patch | view | raw | blame | history |
src/main/java/cc/mrbird/febs/dapp/chain/ContractChainService.java
@@ -28,4 +28,6 @@ BigInteger totalSupplyNFT(); String safeMintNFT(String address); String ownerOfNft(Integer index); } src/main/java/cc/mrbird/febs/dapp/chain/EthService.java
@@ -427,4 +427,37 @@ return ""; } } @Override public String ownerOfNft(Integer index) { try { String methodName = "ownerOf"; List<Type> inputParameters = new ArrayList<>(); List<TypeReference<?>> outputParameters = new ArrayList<>(); Uint256 uint256 = new Uint256(index); inputParameters.add(uint256); TypeReference<Address> typeReference = new TypeReference<Address>() { }; outputParameters.add(typeReference); Function function = new Function(methodName, inputParameters, outputParameters); String data = FunctionEncoder.encode(function); Transaction transaction = Transaction.createEthCallTransaction(null, contractAddress, data); EthCall ethCall; String address = ""; try { ethCall = web3j.ethCall(transaction, DefaultBlockParameterName.LATEST).send(); List<Type> results = FunctionReturnDecoder.decode(ethCall.getValue(), function.getOutputParameters()); address = (String) results.get(0).getValue(); } catch (IOException e) { e.printStackTrace(); } return address; } catch (Exception e) { e.printStackTrace(); } return ""; } } src/main/java/cc/mrbird/febs/dapp/chain/TrxService.java
@@ -123,4 +123,9 @@ public String safeMintNFT(String address) { return null; } @Override public String ownerOfNft(Integer index) { return null; } } src/test/java/cc/mrbird/febs/ChainTest.java
@@ -141,6 +141,6 @@ @Test public void nftTest() { ChainService.getInstance(ChainEnum.BSC_NFT_SDC.name()).safeMintNFT("0xdf034cb12a2d42c000a58b582cf61d2b481c42d6"); System.out.println(ChainService.getInstance(ChainEnum.BSC_NFT_SDC.name()).ownerOfNft(1)); } }