/sol-repl

Solidity REPL

Primary LanguageJavaScriptMIT LicenseMIT

sol-repl

a REPL to provide instant feedback for Solidity snippets

Any bug reports or feature requests are appreciated.

Features

  • language
    • constant
    • contract
    • enum
    • function
    • import
    • interface
    • library
    • struct
    • type
  • REPL
    • Node-like REPL interactions
    • cursor/delete shortcuts
    • history traversing
    • history filtering
    • .session print formatted Solidity source
    • .editor editor mode

Install

npm i -g sol-repl

Usage

$ sol
Welcome to Solidity v0.8.13!
Type ".help" for more information.
> .help
.exit       Exit the REPL
.help       Print this message
.session    Print current session
> enum Abc { a, b, c }
> type(Abc).max
2
> Abc c = Abc.c
2
> contract C {}
> msg.sender
0x4B6F0b9546487B1a184ADc43e0b17299cCdf8648

Shortcuts

cursor

  • Alt+Left Cursor to previous word start
  • Alt+Right Cursor to next word end
  • Fn+Left Cursor to line start
  • Fn+Right Cursor to line end

delete

  • Alt+Del Delete to previous word bound from cursor
  • Ctrl+W Alias of Alt+Del
  • Ctrl+U Delete to line start from cursor

interrupt

  • Ctrl+C Clear line; signal an exit
  • Ctrl+D Immediately terminate REPL

License

MIT