EnergyFather 서비스는 USDT 및 기타 TRC20 암호화 토큰으로 트랜잭션을 전송하는 데 필요한 에너지와 대역폭을 구매(대여)하는 데 도움을 줍니다. 대역폭은 TRX 전송, 보상 청구, Super Representatives 투표 등 TRON 블록체인에서 모든 유형의 거래를 전송하는 데도 필요합니다.
에너지 구매 절차
에너지를 구매하려면 EnergyFather 서비스에 등록하고 '구매자 > API 토큰' 페이지에서 인증 토큰을 받은 후 구매자 계정 잔액을 충전해야 합니다.
주문 생성(방법 ‘buy/energy’) 후 몇 초 또는 몇 분의 지연으로 에너지가 전달될 수 있으므로 자동화 시스템을 개발할 때는 주기적으로 방법 ‘order/get/{guid}’을 요청하여 주문 실행을 확인하는 것이 좋습니다.
예를 들어 USDT를 보낼 계획인데 에너지를 구매하여 더 저렴하게 거래하고 싶다면 다음과 같이 하세요:
- 방법을 요청하여 필요한 에너지 양을 예측하고 구매하세요,
- 에너지가 위임될 때까지 주기적으로 ‘order/get/{guid}’ 메서드를 요청합니다(일반적으로 몇 초 정도 소요됨),
- 보내기 USDT(구매한 에너지는 거래 수수료 지불에 사용됩니다).
일반 참고 사항
이 문서에서 중괄호로 묶인 표현식은 ‘{guid}’ 또는 ‘{id}’와 같이 중괄호로 묶인 표현식은 해당 변수의 값을 의미합니다:
- ‘{guid}’은 EnergyFather(보통 8자리)로 된 개체의 글로벌 고유 식별자입니다,
- ‘{id}’는 이 사용자에 대한 개체의 일련 번호입니다(각 사용자마다 ‘1’로 시작하는 번호).
API 엔드포인트
https://panel.energyfather.com/api/v1/private
POST 방법을 사용하여 요청을 보내세요.
요청 승인
비공개 API에 대한 요청을 확인(승인)하려면 HTTP 헤더를 전달해야 합니다:
Token: {token}
인증 토큰 관리는 제어판의 "구매자 > API 토큰" 페이지에서 확인할 수 있습니다.
예를 들어 다음과 같은 방법으로 주문 123456에 대한 정보를 얻을 수 있습니다:
CURL -X POST 'https://panel.energyfather.com/api/v1/private/order/get/123456' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
주문 상태
- "0" - 보류 중입니다. 주문이 방금 생성되었습니다.
- "1" - 결제를 기다리는 중입니다. 결제 링크가 이미 생성되었으며, EnergyFather는 결제 시스템에서 콜백을 기다리는 중입니다. 이 상태는 주문이 내부 계정에서 사용 가능한 자금으로 전액 결제되는 경우에는 사용되지 않습니다.
- "2" - 에너지 위임 절차가 진행 중입니다.
- "3" - 위임. 에너지가 지급됩니다.
- "4" - 회수됨(위임되지 않음). 유료 기간 종료로 인해 에너지가 인출됩니다.
- "5" - 결제됨. 주문이 결제되고 에너지 배송을 위한 대기열에 추가됩니다.
- "6" - 오류.
일반적인 상태 순서: ☺.
- /api/v1/private/buy/energy - 에너지 구매(내부 계정에서 결제)
- Ο - 주문 목록 보기
- /api/v1/private/order/get/{guid} - 주문에 대한 정보 얻기
- /api/v1/private/account/list - 내부 계정 목록 가져오기
- /api/v1/private/account/get/{id} - 내부 계정에 대한 정보 얻기
"buy/energy" 방법 - 에너지 구매(내부 계정에서 결제)
등록된 고객이 내부 계정에서 인출하여 에너지 구매를 요청합니다. 에너지가 지정된 주소로 즉시 전송됩니다.
내부 계정에 자금이 부족한 경우 주문이 생성되고 즉시 "6"(오류) 상태가 됩니다. 이 경우 패널을 방문하여 자금을 입금한 다음 에너지 구매를 위한 새로운 API 요청을 보내야 합니다.
구매할 에너지의 양을 정의하는 방법에는 두 가지가 있습니다:
a) ⇣ 매개변수에서 정확한 에너지 양을 설정한 다음 amount_source="amount"도 설정해야 합니다.
b) 트랜잭션이 USDT 또는 다른 토큰을 전송하는 데 얼마나 많은 에너지가 필요한지 모르는 경우 amount_source="estimate"를 설정하고 적절한 매개변수 (estimate_to, estimate_token, estimate_adjust_percent)를 입력할 수 있습니다.
buy/energy: 정확한 에너지 양이 포함된 요청 예시
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/buy/energy' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS' -d '{ "format": "json", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "amount_source": "amount", "amount": 31895, "period_type": "days", "period_amount": 3 }'
buy/energy: 필요한 에너지 양을 계산한 요청 예시
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/buy/energy' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS' -d '{ "format": "json", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "amount_source": "estimate", "estimate_to": "TLVkYEp4Ue2RpK5v1XNZAB3769g44BSZyH,TJm6HiCMVZdBHbNHThdMv1RambstJPrfYo", "estimate_token": "USDT", "estimate_adjust_percent": 0.04, "period_type": "days", "period_amount": 3 }'
buy/energy: 매개변수 요청
- to (문자열, 필수) - 에너지를 위임할 TRON 주소
- period_amount(정수, 필수) - 에너지 구매 기간
- period_type(문자열, 필수) - 기간 유형입니다. 가능한 값입니다: days, hours.
- format(문자열, 선택 사항) - 응답 형식입니다. 가능한 값: json (default), xml.
- amount_source(문자열, 필수) - 위임된 에너지의 양을 결정하는 알고리즘입니다. 값이 ⇣이면 매개변수 ⇣의 값이 사용됩니다. 값이 "estimate"이면 매개변수 estimate_to, estimate_token, estimate_adjust_percent에 따라 필요한 에너지 양이 계산됩니다. 가능한 값: amount, estimate.
- amount(정수, amount_source="amount"인 경우 필수) - 구매할 에너지의 양입니다. amount_source="estimate"인 경우 무시됩니다.
- (문자열, amount_source="estimate"인 경우 필수) - 토큰 트랜잭션을 전송할 TRON 주소의 쉼표로 구분된 목록입니다.
- estimate_token(문자열, amount_source="estimate"인 경우 필수) - TRC20 토큰입니다. 사용 가능한 값(대소문자 구분): USDT, USDC, USDD, USDJ, JST, TUSD, stUSDT, WTRX.
- estimate_adjust_percent(소수점, amount_source="estimate"인 경우 필수) - 백분율로 표시되는 초과 에너지 양입니다. 이 초과분은 주소에 정확히 필요한 양의 에너지가 있는 경우 발생할 수 있는 TRX 연소를 방지하는 데 필요합니다. 권장 값은 0.04%.입니다.
중요: 현재 1 hour와 1, 3, 7, 15, 30 days의 6가지 마침표만 유효합니다.
buy/energy: 응답
성공할 경우 응답에 주문 GUID이 포함되며, 이를 통해 나중에 실제 세부 정보를 얻을 수 있습니다.
{ "status": "ok", "data": { "guid": 81373165, "estimate_task_id": null, "status": 0, "order_cost": "6.051", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "energy_amount": 61000, "period_type": "hours", "energy_delegation_fee": "0.561000000000000000", "address_activation_fee": "0.000000000000000000", "hours": 1, "days": 0, "estimate_task": null }, "balance": "7.29412" }
요청에 amount_source="estimate"가 포함된 경우 응답에 "estimate_task" 섹션이 추가로 포함됩니다. 예를 들어
{ "status": "ok", "data": { "guid": 77082757, "estimate_task_id": 42708906, "status": 0, "order_cost": "0.561", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "energy_amount": null, "period_type": "hours", "energy_delegation_fee": "0.561000000000000000", "address_activation_fee": "0.000000000000000000", "hours": 1, "days": 0, "estimate_task": { "id": 42708906, "token": "USDT", "currency": "USD", "from": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "to": [ "TLVkYEp4Ue2RpK5v1XNZAB3769g44BSZyH", "TJm6HiCMVZdBHbNHThdMv1RambstJPrfYo" ] } }, "balance": "18.29412" }
buy/energy: 응답 매개변수
- guid - 주문 GUID
- balance - 현재 내부 계정에서 사용 가능한 자금, TRX
- days - 에너지 공급 기간(일), "period_type=days"의 경우
- hours - 에너지 공급 기간(시간 단위), "period_type=hours"의 경우
- estimate_task - 한 TRON 주소에서 다른 TRON 주소 목록으로 TRC20 트랜잭션을 보내는 데 필요한 에너지 계산(추정)
"order/get/{guid}" 방법 - 주문 세부 정보 가져오기
특정 주문에 대한 정보 얻기.
order/get/{guid} - 요청 예시
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/get/12345' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
order/get/{guid} - 응답 예시
{ "status": "ok", "data": { "guid": 81373165, "estimate_task_id": 32301594, "status": 3, "payment_status": 0, "order_cost_paid": "4.146350000000000000", "order_cost": "4.146350000000000000", "to": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "energy_amount": 31895, "period_type": "hours", "energy_delegation_fee": "0.000000000000000000", "address_activation_fee": "0.000000000000000000", "hours": 1, "days": 0, "resource_txs": [ { "order_guid": 81373165, "delegate_txid": "961b6fbd7cc2090d1a65abc06bfabde1046e02d35394f6eca8d05812a6e3ab7" } ], "estimate_task": { "id": 42708906, "token": "USDT", "currency": "USD", "from": "TQHAAJWLLEjBgYq2sjUnq4kbKfajEXEvyE", "to": [ "TLVkYEp4Ue2RpK5v1XNZAB3769g44BSZyH", "TJm6HiCMVZdBHbNHThdMv1RambstJPrfYo" ] } } }
order/get/{guid} - 응답 매개변수
- guid - 주문 GUID
- balance - 현재 내부 계정에서 사용 가능한 자금, TRX
- days - 에너지 공급 기간(일), "period_type=days"의 경우
- hours - 에너지 공급 기간(시간 단위), "period_type=hours"의 경우
- to - TRX 에너지가 전달되는 주소
- energy_amount - 에너지 양
- order_cost - 주문 비용, TRX
- order_cost_paid - 이미 결제한 금액, TRX (내부 계정의 자금이 부족한 경우 이 금액은 "order_cost"보다 적습니다)
- address_activation_fee - 목적지 주소 활성화 수수료 금액, TRX
- energy_delegation_fee - 주문 규모가 너무 작을 경우 수수료, TRX
- resource_txs - TRON 블록체인에서 리소스가 위임 및 회수(위임 해제)된 트랜잭션 목록이 포함된 배열입니다.
- status - 주문 상태, 가능한 값은 이 매뉴얼의 시작 부분에 설명되어 있습니다.
- payment_status - 결제 시스템의 주문 결제 상태(가능한 값은 결제 시스템에 따라 다름)
"order/list" 방법 - 주문 목록 가져오기
주문 목록 가져오기.
order/list - 요청 예시
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/order/list' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
order/list - 매개변수 요청
- ┘ (문자열, 선택 사항) - 기본적으로 항목 정렬 "created_at|desc"
- per_page(정수, 선택 사항) - 응답당 항목 수를 제한합니다.
- page (정수, 선택 사항) - 응답 페이지의 일련 번호
- filter(arrays(objects) 배열, 선택 사항) - 항목 필터링
order/list - 응답 예시
{ "current_page": 1, "data": [ { "guid": 96134274, "status": 4 }, { "guid": 81373165, "status": 3 } ], "first_page_url": "/api/v1/private/order/list?page=1", "from": 1, "last_page": 1, "last_page_url": "/api/v1/private/order/list?page=1", "links": [ { "url": null, "label": "pagination.previous", "active": false }, { "url": "/api/v1/private/order/list?page=1", "label": "1", "active": true }, { "url": null, "label": "pagination.next", "active": false } ], "next_page_url": null, "path": "/api/v1/private/order/list", "per_page": 15, "prev_page_url": null, "to": 2, "total": 2, "draw": null, "status": "ok" }
order/list - 응답 매개변수
- guid - 주문의 GUID
- status - API 응답 상태
"account/list" 방법 - 내부 계정 나열하기
현재 사용 가능한 자금 금액을 포함한 내부 계정 목록 가져오기. 사이트의 각 섹션마다 별도의 내부 계정이 있으므로 계정에는 여러 개의 계정이 있습니다.
account/list - 요청 예시
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/account/list' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
account/list - 응답 예시
{ "current_page": 1, "data": [ { "guid": 29778748, "user_id": 81841325, "id": 1, "section": "affiliate", "currency": "TRX", "balance": "2.511531" }, { "guid": 64463815, "user_id": 81841325, "id": 2, "section": "buyer", "currency": "TRX", "balance": "41.704" } ], "first_page_url": "/api/v1/private/account/list?page=1", "from": 1, "last_page": 1, "last_page_url": "/api/v1/private/account/list?page=1", "links": [ { "url": null, "label": "pagination.previous", "active": false }, { "url": "/api/v1/private/account/list?page=1", "label": "1", "active": true }, { "url": null, "label": "pagination.next", "active": false } ], "next_page_url": null, "path": "/api/v1/private/account/list", "per_page": 15, "prev_page_url": null, "to": 2, "total": 2, "draw": null, "status": "ok" }
account/list - 응답 매개변수
- 내부 계정의 guid - GUID
- id - 내부 계정의 순차적 ID
- section - 이 잔액이 속해 있는 EnergyFather 섹션
- balance - 사용 가능한 자금
- currency - 통화
- 사용자의 user_id - GUID
"account/get/{id}" 방법 - 정확한 내부 계정 가져오기
특정 섹션의 EnergyFather에 대한 내부 계정 잔액 가져오기. 각 섹션에는 자체 계정 ⇣이 있으므로 각 사용자에게는 여러 개의 계정이 있습니다. 먼저 "account/list" 방법을 사용하여 목록을 가져와 관심 있는 계정의 balance를 찾은 다음 이 balance를 사용하여 특정 계정의 잔액을 가져올 수 있습니다.
account/get/{id} - 요청 예시
curl -X 'POST' 'https://panel.energyfather.com/api/v1/private/account/get/1' -H 'Token: 123456xxxxxxxxxxxxxxxxxxxxxxNOPQRS'
account/get/{id} - 응답 예시
{ "status": "ok", "data": { "guid": 64463815, "user_id": 81841325, "id": 2, "section": "buyer", "currency": "TRX", "balance": "41.704" } }
account/get/{id} - 응답 매개변수
- 내부 계정의 guid - GUID
- id - 내부 계정의 일련 ID
- section - 이 잔액이 속한 EnergyFather 섹션
- balance - 사용 가능한 자금
- currency - 통화
- 사용자의 user_id - GUID