이오스(EOS)

이오스 지갑 구조

이오스의 중앙화 지갑은 다음과 같이 구성되어 있습니다.

  • 대표주소

TIP
이오스는 수수료주소와 자식주소를 사용하지 않습니다.






지갑

이오스는 계정명을 대표주소로 사용합니다. 지갑 생성 프로세스가 타 플랫폼과 다르므로, 아래 내용대로 지갑을 생성해야 합니다.

멀티시그 지갑

  1. 키 생성 프로그램으로 멀티시그 키를 생성합니다.
  2. 콘솔에서 키 정보를 등록합니다.
항목 내용
대표주소 생성할 이오스 계정명을 입력하세요.
계정명은 a-z, 1-5로 구성된 12자리여야 합니다. 예) hexlant12345
퍼블릭키 키카드의 Address를 입력하세요.
옥텟키 키카드의 RSA Encrypted Octet Key를 입력하세요.

싱글시그 지갑

대표주소 항목에 생성할 이오스 계정명을 입력하세요. 계정명은 a-z, 1-5로 구성된 12자리여야 합니다. 예) hexlant12345






자식주소

이오스는 자식주소를 생성하지 않기 때문에 엔드 유저가 대표주소로 바로 입금합니다. 이때, 각 엔드 유저의 입금 내역을 구분하기 위해 엔드 유저에게 memo 값을 부여합니다. 엔드 유저는 대표주소로 입금을 진행할 때 memo 값을 입력해야 합니다.






입금

입금 상태

외부에서 보낸 자산이 대표주소에 도착하면 옥텟은 이를 입금으로 인식합니다. 외부에서 자산을 보냈으나 대표주소에 도착하지 않았다면 해당 트랜잭션은 인식되지 않습니다. 따라서 입금 트랜잭션에는 실패(FAILED) 상태가 없습니다.

상태명내용
FINALIZED입금 트랜잭션이 완료된 상태


입금 확인

1. 콘솔에서 확인하기

콘솔의 [입출금 내역]에서 입금 내역을 확인할 수 있습니다. FINALIZED 상태인 입금은 '완료'로 표시됩니다.


2. 웹훅으로 확인하기

대표주소에 입금이 완료되면 입금 웹훅이 전송됩니다. 전송된 웹훅으로 입금 여부를 확인할 수 있습니다. 웹훅 이용 방법과 전송되는 데이터 형태는 웹훅 페이지를 참고하세요.






출금

출금 과정

대표주소에서 외부로 자산을 출금할 수 있습니다.

  1. 출금을 요청합니다.
  2. 트랜잭션을 생성합니다.
  3. 최적 수수료를 계산한 뒤 트랜잭션을 전파합니다.
  4. 트랜잭션이 블록에 반영되면 출금이 완료됩니다.


출금 상태

트랜잭션이 블록에 포함된 즉시 출금 완료(FINALIZED) 처리됩니다.

상태명내용
AWAITING_DECISION출금 승인 대기 중인 상태
REJECTED출금이 거절된 상태
AWAITING_WITHDRAWAL출금이 승인되어 출금 대기 중인 상태
PENDING출금 트랜잭션이 생성된 상태
FINALIZED출금 트랜잭션이 블록에 포함된 상태
FAILED출금 트랜잭션이 실패한 상태


출금하기

출금 신청 API를 호출하면 대표주소에서 외부로 출금을 요청할 수 있습니다. 출금 요청에 성공하면 uuid 값이 반환됩니다. 해당 값으로 출금 진행 상태를 조회할 수 있습니다.

Response 예시

{
  "uuid": "8bc699a0-7dbd-4b34-b546-e908b448907d"
}


출금 확인

1. 콘솔에서 확인하기

콘솔의 [입출금 내역]에서 출금 내역을 확인할 수 있습니다. AWAITING_WITHDRAWALPENDING 상태인 출금은 '진행'으로 표시되며, FINALIZED 상태인 출금은 '완료'로 표시됩니다.


2. API로 확인하기

출금 트랜잭션 정보 조회 API를 호출하면 특정 출금 트랜잭션의 진행 상태를 확인할 수 있습니다.

Response 예시

{
    "idx": 242657,
    "uuid": "d47e020f-87e7-4993-90a8-6a2256c0c29b",
    "type": "WITHDRAWAL",
    "txid": "80562bfd224c12d998e1962787cd7573d3a7d24ea97a2de98e453b5b3ee9f119",
    "fromAddress": "staging12345",
    "toAddress": "staging54321",
    "amount": "100.00000000000000000000",
    "usedFee": "0.00100000000000000000",
    "nonce": null,
    "blockHeight": "35807818",
    "serialized": "12000022000000002402219FCF201B0222625B6140000000000F42406840000000000003E8732103A0A29F10A42C163999C7C0A579937D62EB39B5DCF267B1D4A38C7C96387A023274473045022100E9175A0CB20D2A69A1546AD5ADCD32B04FCCB5792E5F2EBD0207666D3798AF7F0220150BA3E1EDCCB06492D45F112E3D51BD3DB13D2CAE94BF8E400E64452571165D81143EE083FB424D1F78352B71F17982D02A2EE5E5B783140B4D4A8647BF7A9F5335F5D6E8869406AC2E51E7",
    "memo": "",
    "status": "FINALIZED",
    "outputIndex": 0,
    "createdDate": "2023-03-02T03:34:28.627Z",
    "modifiedDate": "2023-03-02T03:34:30.924Z",
    "unfinalizedDate": "2023-03-02T03:34:31.000Z",
    "finalizedDate": "2023-03-02T03:34:31.000Z",
    "failedDate": null,
    "coin": {
      "idx": 118,
      "symbol": "EOS",
      "nameKo": "이오스",
      "nameEn": "Eos",
      "status": "ACTIVATED",
      "type": "DEFAULT",
      "contractAddress": null,
      "decimals": 4,
      "createdDate": "2023-03-23T16:03:28.216Z",
      "modifiedDate": "2023-07-13T05:21:13.798Z"
    }
  }

3. 웹훅으로 확인하기

대표주소에서 외부로 출금이 완료되면 출금 웹훅이 전송됩니다. 전송된 웹훅으로 출금 여부를 확인할 수 있습니다. 웹훅 이용 방법과 전송되는 데이터 형태는 웹훅 페이지를 참고하세요.






잔액 조회 기준

주소 잔액 조회 API를 호출하면 특정 주소에 보관된 자산의 잔액을 확인할 수 있습니다. 이때 조회되는 잔액은 총 잔액(Total Balance)과 사용 가능 잔액(Liquid Balance)으로 나누어집니다.

  • 총 잔액은 confirmation이 1 이상인 모든 자산을 의미합니다.
  • 사용 가능 잔액은 출금 가능한 자산을 의미합니다.





수수료

이오스는 트랜잭션 수수료로 EOS를 지불하지 않고 CPU, NET, RAM 자원을 사용합니다. 사용 가능한 CPU, NET, RAM 자원이 없을 경우 트랜잭션을 요청할 수 없습니다. CPU, NET 자원의 경우 하루 단위로 초기화됩니다.

자원 종류설명
CPUCPU는 트랜잭션 처리 능력입니다.
트랜잭션을 처리할 때 사용되며, 테스트넷의 경우 PowerUp을 진행하여 주기적으로 충전할 수 있습니다.
메인넷은 옥텟에서 매일 PowerUp을 대행해 드립니다.
NETNET은 트랜잭션을 처리하기 위해 사용되는 네트워크의 BP입니다.
트랜잭션을 처리할 때 사용되며, 테스트넷의 경우 PowerUp을 진행하여 주기적으로 충전할 수 있습니다.
메인넷은 옥텟에서 매일 PowerUp을 대행해 드립니다.
RAM   RAM은 블록체인 상에 데이터를 저장할 수 있는 메모리 공간에 대한 비용입니다.
RAM의 경우 옥텟에서 따로 관리하지 않으며, 이는 구매하여 사용해 주셔야 합니다.





Faucet

테스트넷일 경우 Faucet 사이트에서 테스트용 EOS를 얻은 뒤 입금해야 합니다. 테스트넷에 실제 EOS를 입금하면 입금이 인식되지 않습니다.