모랄리스는 블록체인 기반의 어플리케이션 DApp을 개발하기 위한 플랫폼이다. 모랄리스는 이더리움 및 다른 블록체인 네트워크와 상호작용하기 위한 백엔드 서비스, SDK를 제공한다.
리액트에서는 react-moralis 라이브러리를 통해 모랄리스 커스텀 훅을 사용할 수 있다.
모랄리스 라이브러리에서 useMoralis 커스텀 훅으로 다음과 같은 기능과 상태에 접근할 수 있다.
initialize: 모랄리스 서비스를 초기화하는 메소드이다. 모랄리스 서비스를 사용하기 전 반드시 초기화해야 한다.
isAuthenticated: 현재 사용자가 인증되어 있는지 여부를 나타내는 상태 값이다. 로그인한 경우 true, 로그인하지 않은 경우 false를 반환한다.
isInitialized: 모랄리스 서비스가 초기화되었는지 여부를 나타내는 상태 값이다.
// 모랄리스 서비스 사용하기 전 초기화가 필요하다.
React.useEffect(() => {
initialize();
} [...]
// 모랄러스 서비스 사용 전 초기화 확인
React.useEffect(() => {
if (isInitialized) {
updateNetwork();
}
} [...]
authenticate: 사용자를 인증하는 메소드이다.
logout: 현재 로그인된 사용자를 로그아웃하는 메소드이다.
user: 현재 인증된 사용자 정보를 나타내는 상태 값이다.
const loginMetamask = async () => {
console.log("Try to login");
if (!isAuthenticated) {
await authenticate({
provider: "metamask",
signingMessage: "Sign in with Superswap",
chainId: 0x1,
})
.then(function (user) {console.log(user);})
.catch(function (error) {console.log(error);});
setWalletChosen("Metamask");
}
};