Springboot統合web 3 jは、太坊スマート契約で振り替える+ethアドレス財布の作成を呼び出す
2359 ワード
1、springbootプロジェクトを作成し、web 3 jのjarパッケージを導入する
org.web3j
web3j-spring-boot-starter
1.6.0
2、yml配置
client-address , https://infura.io/ ,
web3j:
client-address: https://rinkeby.infura.io/key
admin-client: true
httpTimeoutSeconds: 600
3、コード乾物
まずweb 3 j作成財布アドレスについて
File file = new File(“/home/wallet”); //
WalletUtils.generateNewWalletFile(" ", file, true); //
, , , ,
Credentials credentials = WalletUtils.loadCredentials(“ ”, );
returnAddress = credentials.getAddress();
次の2つのethアドレスの間にある通貨のプログラムコードを回しましょう.
Credentials credentials = WalletUtils.loadCredentials(“ ”, );
String fromAddress = credentials.getAddress();
EthGetTransactionCount ethGetTransactionCount = web3j.ethGetTransactionCount(
fromAddress, DefaultBlockParameterName.LATEST).sendAsync().get();
BigInteger nonce = ethGetTransactionCount.getTransactionCount();
Address address = new Address(toAddress);
Uint256 value = new Uint256(amount);
List parametersList = new ArrayList<>();
parametersList.add(address);
parametersList.add(value);
List> outList = new ArrayList<>();
Function function = new Function("transfer", parametersList, outList);
String encodedFunction = FunctionEncoder.encode(function);
RawTransaction rawTransaction = RawTransaction.createTransaction(nonce, Gas ,
Gas , , encodedFunction);
byte[] signedMessage = TransactionEncoder.signMessage(rawTransaction, credentials);
String hexValue = Numeric.toHexString(signedMessage);
EthSendTransaction ethSendTransaction = web3j.ethSendRawTransaction(hexValue).sendAsync().get();
transactionHash = ethSendTransaction.getTransactionHash();
最後に手に入れたのは、振り替えのtxHashよりも、Json-rpcで振り替え状態(very easy)を調べることができます.
Json-rpc説明ドキュメントアドレス:https://github.com/ethereum/wiki/wiki/JSON-RPC
いろいろな方法を提供していますから、やってみましょう.
4、もしあなたがある会社で自分のERC 20が産出した仮想通貨(今の大部分はハハハ、産出も簡単で、好きなら游ぶことができます)があれば、このようなjava方式で振り替えを実現することができます.ハハハ、好きなら注目してください.兄弟
オリジナル、転載しないでください、ありがとうございます!