메세지 서명

1. Request.signMessage

Parameters

이름타입설명

chainId

number

해당 네트워크의 체인 아이디

appName

string

메세지 서명 시 FAVORLET 앱에 노출될 이름

from

string

서명할 지갑 주소

message

string

서명할 메세지

Response

이름타입설명

requestId

string

요청한 작업 또는 트랜잭션을 추적하기 위한 id

expiredAt

number

작업 또는 트랜잭션 요청이 만료 되는 시간(단위: 초)

Example

import { Request } from "favorlet.js";

const response = await Request.signMessage({
  chainId: 8217, // 해당 체인 id
  appName: "BlockChainApp", // FAVORLET 앱에 노출
  from: "0x{address in hex}", // 서명할 지갑 주소
  message: "서명할 메세지", // 서명할 메세지
});

console.log(response);
/*
{
  requestId: "c8393195-b49d-4586-b3fd-0e1a1e94f189",
  expiredAt: 1667891117,
}
*/

Parameters

타입설명

string

Request 요청시 전달받은 requestId

Response

타입설명

string

FAVORLET 앱 내 해당 요청 페이지 DeepLink

Example

import { createDeepLink } from "favorlet.js";

const deepLink = createDeepLink(response.requestId); // Request를 통해 받은 requestId

/*
- PC: 생성된 deepLink를 qrcode 라이브러리를 이용하여 QR 생성 후 스마트폰으로 스캔
- Mobile: window.location.href 등을 사용하여 생성된 deepLink로 직접 이동
*/
console.log(deepLink);
// https://app.favorlet.link/?requestId=c8393195-b49d-4586-b3fd-0e1a1e94f189

3. receipt

import { receipt } from "favorlet.js";

const result = await receipt(response.requestId); // Request를 통해 받은 requestId

console.log(result);
/*
- status에 따라 이후 분기 처리

### requested
{
  requestId: "c8393195-b49d-4586-b3fd-0e1a1e94f189",
  expiredAt: 1667891117,
  action: "signMessage",
  signMessage: {
    status: "requested"
  }
}

### canceled
{
  requestId: "c8393195-b49d-4586-b3fd-0e1a1e94f189",
  expiredAt: 1667891117,
  action: "signMessage",
  signMessage: {
    status: "canceled",
    signature: null,
    errorMessage: null
  }
}

### succeed
{
  requestId: "c8393195-b49d-4586-b3fd-0e1a1e94f189",
  expiredAt: 1667891117,
  action: "signMessage",
  signMessage: {
    status: "succeed",
    signature: "c308c6bc851cdaf8a125b2990753f376e3660f9f98a4c515de9e8c0fbd98f2cf3db519a7ba4dab78d001232b6f55b24896a57e3264cafe3dda78a89ecfb0bb141b",
    errorMessage: null
  }
}
*/

Last updated