Tx-Action(RESTful Smart Contract)

루니버스의 Tx-Action(Transaction Action) 기능을 활용하여 스마트 컨트랙트를 통한 Web3 Backend 구축을 더욱 쉽게 하세요.

Tx-Action이란 무엇인가요?

루니버스에서는 배포한 스마트 컨트랙트의 Function을 Custom RESTful API로 정의하여 호출하고 Transaction을 실행할 수 있는 Tx-Action(Transaction Action) 기능을 제공합니다. 이를 통해 Web2 어플리케이션의 쉬운 Web3 Integration을 지원합니다. 이때 정의된 각각의 Custom RESTful API를 Tx-Action이라고 합니다.

📘

Tx-Action은 현재 루니버스 메인넷, 루니버스 사이드체인만 지원합니다.

현재 Tx-Action은 루니버스 체인들을 대상으로만 정의 및 사용이 가능합니다. 추후 Public 네트워크에 배포된 스마트 컨트랙트들에 대한 지원이 추가 될 예정이니, 조금만 기다려주세요!


Tx-Action 사용법 알아보기

Tx-Action 생성하기

루니버스 콘솔의 Tx-Action 메뉴에서 대상 컨트랙트 및 Funtion을 선택한 뒤 Tx-Action으로 정의할 수 있습니다. 루니버스 플랫폼을 통해 배포한 메인토큰, 사이드토큰 및 NFT 컨트랙트 및 사용자가 직접 배포한 컨트랙트 모두 Tx-Action 생성의 대상 컨트랙트로 선택할 수 있습니다.

Tx-Action 생성에 관한 자세한 사항은 How to Create Tx-Action페이지를 참조하세요.


생성된 Tx-Action 목록 조회하기

루니버스 콘솔의 좌측 메뉴에서 Tx Action > Overview를 클릭하여 생성된 Tx Action의 목록 및 상세를 확인하실 수 있습니다. Overview 탭에서 확인할 수 있는 필드값은 다음과 같습니다.

  • ACTION NAME : 생성한 Tx Action의 이름입니다. RESTful API의 실제 path로 사용됩니다.
  • TOKEN/CONTRACT : 생성한 Tx Action의 기능을 담고있는 컨트랙트 혹은 토큰의 주소입니다.
  • FUNCTION : 생성한 Tx Action에 맵핑된 컨트랙트 내 Function의 이름입니다.
  • SIGN : 해당 API의 서명 필요 여부입니다. 맵핑된 Function이 조회를 위한 Call Function이 아닌, 블록체인 네트워크의 상태를 변경하는 Transaction 생성 Function인 경우 서명 여부가 Required로 표기됩니다.

다수의 Action이 등록되어 검색이 필요한 경우 Search탭에 ACTION NAME 필드와 FUNCTION 필드를 검색어로 입력하여 원하는 Tx-Action을 검색할 수 있습니다.


RESTful API 호출 예제를 호출하여 스마트 컨트랙트 실행해보기

정의된 Tx-Action을 선택하여 API 호출을 위한 CURL 예제를 확인하고, 해당 Function의 호출로 부터 어떤 응답값이 반환되는지 예측할 수 있습니다.

  • https://api.luniverse.io/tx/v2.0/transactions/{actionName}의 path 생성 룰에 따라 {actionName}에 유저가 생성한 Tx Action의 이름을 입력하면 해당 Tx-Action API를 호출할 수 있습니다.
  • header : <YOUR_API_TOKEN> 부분에 API Key 로 Auth API를 호출하여 생성한 Auth-token의 Token 값을 입력합니다.
  • txId : 부분은 API를 호출하는 클라이언트 측에서 Tx 중복 시도를 하는 경우, 이를 구분하기 위한 Transaction ID입니다. 매 호출마다 서로 다른 UUID를 생성하여 입력해야 합니다.
  • inputs 객체 예제의 경우 맵핑된 Function의 Argument에 따라 달라질 수 있습니다.

자세한 Tx-Action 호출 방법에 대해서는 How to Execute Tx-Action 가이드 페이지 및 관련 API 명세인 executeTxAction 페이지를 참조하세요.