SUByeon
23
2019-04-04 17:14:27 작성 2019-04-04 17:15:34 수정됨
2
286

스프링 프레임워크에서 web3j를 사용할때 트랜잭션 생성시 walletfile과 데이터기록 방법 질문입니다.


안녕하세요.

스프링 프레임워크, 이더리움 입문자 입니다.

저는 스프링은 윈도우에서 작업하고 이더리움음 VM을 이용하여 우분투 리눅스에 설치하여 진행하고 있습니다.

스프링과 이더리움 연동하는 과정에서 계좌를 가져오는것 까지는 성공했습니다.

그래서 트랜잭션을 생성해서 보내려고 하는데 https://web3j.readthedocs.io/en/latest/getting_started.html 에서 확인해 보니 

Web3j web3 = Web3j.build(new HttpService());  // defaults to http://localhost:8545/
Credentials credentials = WalletUtils.loadCredentials("password", "/path/to/walletfile");

walletfile source가 필요한데 우분투에 있는 지갑경로를 지정할 수 있나요??ㅠㅠ

그리고 트랜잭션에 제가 기록하고 싶은 데이터를 어떻게 저장할 수 있나요....??

리눅스에 node.js서버를 하나 더 생성해서 통신하거나 환경을 하나로 합치는게 맞는건가요.....??
1
0
  • 답변 2

  • SUByeon
    23
    2019-04-08 20:43:24

    walletfile은 해결하였습니다.

    miner의 keystore 파일을 윈도우로 옮긴 후 경로를 설정하여 해결하였습니다.

    1
  • SUByeon
    23
    2019-04-27 17:53:26 작성 2019-04-27 17:53:52 수정됨

    RawTransaction에 여러 종류의 트랜잭션 생성함수가 있었습니다.


    RawTransaction.createContractTransaction(nonce, gasPrice, gasLimit, value, init);

    RawTransaction.createEtherTransaction(nonce, gasPrice, gasLimit, to, value);

    RawTransaction.createTransaction(nonce, gasPrice, gasLimit, to, data);

    RawTransaction.createTransaction(nonce, gasPrice, gasLimit, to, value, data);


    아래의 두 개의 함수의 data에 자신이 기록하고 싶은 데이터를 Numeric.toHexString(String.getBytes())를 이용하여 Hex값으로 기록해주면 됩니다. 그냥 바로 String 값을 넣어봤는데 자동으로 Hex값으로 변경되긴 했지만 그 Hex값을 다시 String으로 바꾸니 이상한 문자들이 나오더라구요......

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.