• 카테고리

    질문 & 답변
  • 세부 분야

    블록체인

  • 해결 여부

    미해결

app.js에서 계정 관련

19.05.24 20:42 작성 조회수 137

0

안녕하세요 응용을 해서 만들어보고 있습니다

(1)'정산'버튼을 눌렀을 때, 메타마스크의 2번 계정으로 컨트랙트 소유자 계정에 맡겨졌던 이더가 전달되게 하고 싶습니다..

그런데 밑의 사진의 app.js에서 account가 메타마스크 상에서 지정한 현재 계정이라고 하셔서 구현을 어떻게 해야 할지 감이 안잡힙니다.. 결국 2번 계정에서 2번계정으로 금액을 전달하는 꼴이 되어 금액에 변동이 없네요. 0번 계정 지정후 정산 누르면 2번 계정으로 돈이 가는데 말이져ㅠㅠㅠ  (1)번처럼  하고 싶을 경우 메타마스크의 account를 뭐라고 지정해야 하나요?ㅠㅠㅠ

답변 1

답변을 작성해보세요.

0

그럴 경우에는 2번의 실제 public 주소를 파악하신 다음에 (예: 0x8d803..) 그 주소를 컨트랙 함수의 인자로 보내고 그 인자값을 사용해 transfer 하는 것이 훨씬 바람직한 로직입니다. 

1. 메타마스크 2번째 계정 주소 변수에 대입 var secondAccount = '0x930283...';

2. payProduct의 인자로 넘김 instance.payProduct(id, date, secondAccount, {from: account, value: price});

3. solidity payProduct함수에서 secondAccount 인자 추가하고 마지막에 그 주소로 transfer함. secondAccount.transfer(msg.value);