Clef Tutorial

initialization

First, you need to init clef dir to create masterseed

# CLEFDIR - directory with clef data (default: $HOME/.clef)
clef init --configdir CLEFDIR

Screenshot

"Unlocking" keystore

Then you should COPY your keystore file to keysotre folder and add password to clef

cp keystoreFile KEYSTOREDIR
clef setpw --configdir CLEFDIR 0x123dead #password will prompted and decrypted by masterseed

Rules

To accept or reject some requests create rule file:

function ApproveListing() {
    return "Approve"
}
function ApproveTx(){
        return "Approve"
}

and then add checksum of rules file to clef

clef attest --configdir CLEFDIR $(sha256sum rules.js)

Start service

clef --configdir CLEFDIR --keystore KEYSTOREDIR --chainid=35441 --rules=/data/rules.js

then you can use clef as signer in geth

geth ...YOUR FLAGS... --signer=CLEFDIR/clef.ipc

More info about clef can be found in the offcial docs.

Demo

sending tx with "unlocked" account

Screenshot

Screenshot

Screenshot

sending tx from "locked" account

rm password from clef

clef --configdir=CLEFDIR $address

Screenshot

password prompted in clef

Screenshot