본문으로 건너뛰기

Locus Wallet API

웹페이지와 지갑 연동

if (!window.locus) {
alert('Locus wallet is not installed.');
return;
}

const addr = await window.locus.getAccount().catch(err => {
console.error(err);
});
console.log(addr);

이벤트 리스너 등록

window.locus.on('accountChanged', data => {
console.log(`accountChanged! ${data.addr}`);
})

함수 목록


connect

대상 사이트와 지갑을 연결합니다.

입력

[없음]

출력

타입설명
-string연결된 지갑 주소

getAccount

대상 사이트와 연결된 계정을 구합니다.

입력

[없음]

출력

타입설명
-string계정 주소

getBalance

계정이 보유한 코인량을 구합니다.

입력

타입설명
addrstring계정 주소

출력

타입설명
-string보유한 코인량

getNodeUrl

선택된 네트워크의 RPC url을 구합니다.

입력

[없음]

출력

타입설명
-stringRPC url

sign

Normal private key로 문자열을 서명합니다.

입력

타입설명
inputstring서명할 대상

출력

타입설명
-string서명 결과

addNetwork

새로운 네트워크를 지갑에 등록합니다.

입력

타입설명
namestring이름
rpcUrlstringRPC 호출 url
currencySymbolstring기본 통화
explorerUrlstring(선택) 익스플로어 url

출력

타입설명
-boolean성공 여부

transferCoin

코인을 다른 계정으로 보냅니다.

입력

타입설명
tostring받을 계정 주소
amountstring보낼 코인 수량

출력

타입설명
Hashbase64
Txstring
Successbool성공 여부

transferToken

토큰을 다른 계정으로 보냅니다.

입력

타입설명
contractAddrstring컨트랙트 주소
tostring받는 계정 주소
amountstring보낼 토큰 수량
decimalint32토큰 소수점 자릿수

출력

타입설명
Hashbase64
Txstring생성된 Tx
Successbool성공 여부

createContract

Contract를 생성합니다.

입력

타입설명
contractAccountstring(선택) 생성할 컨트랙트 주소. 입력하지 않으면 새로운 주소로 생성
codestring소스의 binary code
amountstring생성된 contract account에 deposite 해 놓을 코인
creator의 코인에서 차감된다.
fuelLimituint32contract 생성에 소모할 fuel의 한계치
tokenAmounts[]{TokenID base32, AmountToken string}contract에 전송할 token 정보
sysIdbase32
sysTypestringsystem type
untilbase32생성 재시도할 최대 라운드

출력

타입설명
ContractAccountbase32생성된 Contract 주소.
첫번째 call의 리턴값을 두번째 call의 인자로 넣으면 된다.
Hashbase64
Txstring생성된 Tx
Successbool성공 여부

callContract

Contract 함수를 실행합니다.

입력

타입설명
contractAccountstring스마트 컨트랙트 주소
funcstring함수명
argDatastring매개 변수
abistring실행할 함수의 abi json 문자열
funcStrstring(선택) 지갑에 표시하기위한 함수명
funcArgs[]string(선택) 지갑에 표시하기위한 매개변수

출력

타입설명
Hashbase64
Txstring생성된 Tx
Successbool성공 여부

viewContract

스마트 컨트랙트의 데이터를 읽기 위한 함수를 호출합니다.

입력

타입설명
contractAccountstring스마트 컨트랙트 주소
funcstring함수명
argDatastring매개 변수

출력

타입설명
Resultbase64호출한 결과 값
Errstring오류 발생 시 내용

이벤트 목록


init

지갑이 정상적으로 설치되어 사용이 가능한 상태일때 한번 발생합니다.

출력

타입설명
addrstring현재 선택된 계정 주소
connectedboolean계정이 사이트에 연결됬는지 여부
extensionIdstring지갑의 익스텐션 ID
networknetwork선택된 네트워크 정보

network

타입설명
idstring네트워크 ID
namestring네트워크명
rpcUrlstringRPC URL
currencySymbolstring통화 기호
explorerUrlstring익스플로어 url

connectionChanged

대상 사이트에 연결된 계정이 감지되거나 변경되었을 때 발생합니다.

출력

타입설명
addrstring연결된 계정 주소

connected

대상 사이트에 지갑이 연결 되었을 때 발생합니다.

출력

타입설명
addrstring연결된 계정 주소

disconnected

대상 사이트에 연결된 계정이 없을때 발생합니다.

출력

타입설명
addrstring해제된 계정 주소

accountChanged

계정이 변경 되었을 때 발생합니다.

출력

타입설명
addrstring계정 주소

networkChanged

네트워크가 변경 되었을 때 발생합니다.

출력

타입설명
idstring등록된 네트워크의 네트워크 ID
namestring등록된 네트워크의 이름
rpcUrlstring등록된 네트워크의 RPC 호출 url
currencySymbolstring등록된 네트워크의 기본 통화 기호
explorerUrlstring등록된 네트워크의 익스플로어 url

lockWallet

지갑에서 로그아웃 했을 때 발생합니다.

출력

[없음]


unlockWallet

지갑에 로그인 했을 때 발생합니다.

출력

타입설명
addrstring로그인한 계정 주소

acceptConfirmation

지갑 확인 창에서 수락 했을 때 발생합니다.

출력

타입설명
uuidstring요청 유니크키
datastring실행 결과

rejectConfirmation

지갑 확인 창에서 거부 했을 때 발생합니다.

출력

타입설명
uuidstring요청 Unique Key
codestring0: 일반
1: 사용자에 의한 거부
messagestring에러 메세지

rejectAllConfirmations

지갑 확인 창에서 모든 요청을 거부 했을 때 발생합니다.

출력

타입설명
-[]result요청 거부 목록

result

타입설명
uuidstring요청 Unique Key
codestring0: 일반
1: 사용자에 의한 거부
messagestring에러 메세지