Skip to content

Raku Advent Calendar 2023 — Dissecting the Geth (Go-Ethereum) keystore files using Raku tools

Dissecting the Geth (Go-Ethereum) keystore files using Raku tools

Article: https://gitlab.com/pheix-research/talks/-/blob/main/advent/2023.md

TOC

  1. Intro: The idea behind this research
    • signing transactions locally;
    • integration with telegram bot — add new accounts to Ethelia public node.
  2. What is the Ethereum (Web3) keystore file;
    • overview;
    • actual scope (real world tasks):
      • Tools (aka hacks) to get private key from keystore file;
      • Importing new accounts (private keys) into Geth client.
  3. Implementation in Raku
    • Initial state (it looks promising):
      • libscrypt via Crypt::LibScrypt;
      • AES128-CTR algo via Gcrypt and OpenSSL;
      • UUID;
    • Problems (are on the most important steps);
    • Let's raise a few Pull Requests
      • Crypt::LibScrypt;
      • my new modules as intermediate step.
    • Yet another binding for GNU Libgcrypt;
    • Upgrade Bitcoin::Core::Secp256k1.
  4. Node::Ethereum::KeyStore::V3
    • Quick start;
    • ethkeystorev3-cli utility;
    • Dependencies.
  5. Afterword
    • Ethelia service;
    • Registering via Telegram Bot;
    • Demo pitch
Edited by Konstantin Narkhov