[BlockChain] 메타마스크 서명과 검증

2021. 9. 8. 18:53BlockChain

메타마스크를 활용하면 특정 메시지에 서명한 값을 가지고 서버에서 메시지를 검증하여 사용자가 맞는지 확인하여 로그인, 사용자 검증 등에 사용할 수 있다.

 

아래는 메타마스크의 인스톨 여부와 권한을 요청하는 구문이다.

 

    /* Metamask message 서명 함수 */
    const signing = () => {
        let from = user.account;
        let params = ['Hello'];
        let method = 'personal_sign';
        try {
            web3.currentProvider.sendAsync(
                {
                    method,
                    params,
                    from,
                },
                function (err, result) {
                    if (!err) {
                    /* err가 아닐 경우 ... */
                    }
                    else if (err) {
                        console.log(result);
                    }
                });
        }
        catch (e) {
            console.log(e);
        }
    }

 

아래와 같이 2단계에 걸쳐 연결을 설정한다.

 

 

서명 inject된 metamask web3를 가지고 서명 요청을 보내는 기본적인 스크립트이다.

method의 경우 personal_sign 말고도 구조화된 메시지를 보내는 여러 함수들이 있다.

( 참고 docs.metamask.io/guide/signing-data.html )

 

서명을 하게 되면 아래와 같은 결과 값을 받게 되는데 result에 해당 하는 값이 서명된 메시지이다.

'BlockChain' 카테고리의 다른 글

[BlockChain] NFT Market 컨트랙트 배포  (0) 2022.05.19
[BlockChain] Klaytn Code Verify  (0) 2022.04.27
IPFS(InterPlanetary File System) Upload  (0) 2021.06.29
ERC721 - NFT 만들기  (2) 2021.06.24
나만의 토큰 만들기  (0) 2021.06.03