const fs = require("fs"); const mnemonic = fs.readFileSync(".secret").toString().trim(); // web3.eth.defaultAccount = '0x50A8e60041A206AcaA5F844a1104896224be6F39' const arbOneKey = fs.readFileSync(".key").toString().trim(); const arbOneAddr = fs.readFileSync(".addr").toString().trim(); const Web3 = require('web3'); const w3 = new Web3('https://arbitrum-one.public.blastapi.io') async function getNonce(addr){ return await w3.eth.getTransactionCount(addr) } async function main(){ const nonce = await getNonce("0x7E8E62EF14E9ae1a0B1dd753b45AA42Faa6208D7") console.log('nonce:', nonce) const msg = 'some msg that need sign' let res = w3.eth.accounts.sign(msg, arbOneKey) console.log(res) let hash = w3.eth.accounts.hashMessage(res.signature) console.log(hash) } main()