EOA & Contract
Externally Owned Account & Contract Account
외부 소유 계정(EOA)
개인키가 있는 계정 (자금 컨트랙트에 대한 접근을 제어)
contract account
스마트 컨트랙트 코드를 가지고 있고, 개인키는 없음 (스마트 컨트랙트 코드로 제어)
-
스마트 컨트랙트 코드: 컨트랙트 계정 생성 시 이더리움 블록체인에 기록되고 EVM에 의해 실행되는 소프트웨어 프로그램
-
주소를 들고 있고 이더를 보내고 받을 수 있음
코드 실행
- transaction의 목적지가 컨트랙트 계정 주소일 때 EVM에서 실행
- 트랜잭션과 트랜잭션 데이터를 입력으로 사용
- transaction에 ether, 실행할 컨트랙트의 특정 함수, 파라미터 데이터 등을 포함할 수 있다.
Transaction 시작
- 컨트랙트 계정은 개인키가 없기에 트랜잭션 시작 불가
- EOA 만 시작할 수 있음
- 하지만 컨트랙트는 복잡한 실행 경로를 구축하여 다른 컨트랙트를 호출해서 react할 수 있다.
- 방법
- 다중 서명 스마트 트랜잭션 지갑에 지급 요청 트랜잭션을 전송하여 일부 ETH를 다른 주소로 보냄
- 다중 서명 지갑: 2명 이상의 승인으로 돈이 움직이는 지갑
- 지급 요청 트랜잭션: 제안, 전송, 승인 과정을 통해서 송금하는 것
- 다중 서명 스마트 트랜잭션 지갑에 지급 요청 트랜잭션을 전송하여 일부 ETH를 다른 주소로 보냄
- 방법