Explore from the safety of your shell

Overview

turtlescan

Explore from the safety of your shell

Installation: cargo install turtlescan

tui

Starts a little tui which connects to your JSON-RPC server and allows you to browse the blockchain.

Usage (after running cargo install turtlescan): turtlescan --provider.url=ws://localhost:8545 tui

Usage (from a source checkout): cargo run -- --provider.url=ws://localhost:8545 tui

Selection_385

tailBlocks

This subcommand emits blocks as soon as your provider discovers that they exist:

$ cargo run -- --provider.url=ws://localhost:8545 tailBlocks

image

Comments
  • interaction: block

    interaction: block "follow mode"

    If you're in the blocks view and you've selected the most recent block, hitting up-arrow enters "follow mode" where the selection always stays on the most recent block (you can leave follow mode by changing your selection in the blocks view)

    A visual indication might be that there is no longer a cursor in the blocks view?

    ux 
    opened by lithp 2
  • start the tui with the newest block selected

    start the tui with the newest block selected

    the ui starts without any blocks selected which allows the user to get into a confusing state if they try to open the transactions pane or configure columns before selecting a block. This isn't a bug, exactly, but the rendered buffer is a little counter-intuitive.

    alternative fix: make the rendered buffer more self-evident

    tui 
    opened by lithp 1
  • select and inspect transactions

    select and inspect transactions

    complications:

    • what should the interaction look like? there's a third pane, the transaction inspector?
    • what should be rendered, is it useful to show call traces?
    opened by lithp 1
  • when a new block appears keep the selection on the current block

    when a new block appears keep the selection on the current block

    currently the blocks all scroll down but the selection stays fixed, which seems undesirable unless you want turtlescan to be in some kind of dashboard mode

    bug tui 
    opened by lithp 1
  • handle reorgs correctly

    handle reorgs correctly

    when a reorg happens the subscription gives us all new blocks. currently the tui treats these blocks as if they're all additions to the chain tip but in fact some of them ought to rewrite previous blocks

    bug tui 
    opened by lithp 1
  • allow scrolling past the end of the block list

    allow scrolling past the end of the block list

    currently tui only shows you the most recent blocks, that's not very useful!

    one complication: what happens when new blocks come in while you've scrolled past the end of the list? it would be nice to have some kind of visual indication of how far from the chain tip the current viewport is.

    feat tui 
    opened by lithp 1
  • add mouse support

    add mouse support

    termion makes it possible to receive mouse events, the difficult part will be mapping clicks to panes. When we draw we populate a structure which remembers the mapping from positions to panes? And what about scrolling, when you scroll should it scroll the pane which is currently focused or should it scroll the pane directly under the cursor?

    feat ux 
    opened by lithp 0
  • allow setting a rate-limit for network requests

    allow setting a rate-limit for network requests

    technically turtlescan can work against infura but it does not at all rate-limit itself and I expect that infura would ban someone who actually tried it.

    feat ux 
    opened by lithp 0
  • new block column: uniswap prices

    new block column: uniswap prices

    • the user somehow specifies which pools they would like to watch, such as ETH/USDC
    • when showing the block list do some eth_calls to figure out the price as of each block
    • in the future, generalize this to any eth_call users might want to track the result of?
    feat tui 
    opened by lithp 1
Owner
Brian Cloutier
Brian Cloutier
🐢 Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands

Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.

Ellie Huxtable 4.6k Jan 1, 2023
rip is a command-line deletion tool focused on safety, ergonomics, and performance

rip (Rm ImProved) rip is a command-line deletion tool focused on safety, ergonomics, and performance. It favors a simple interface, and does not imple

Kevin Liu 776 Jan 1, 2023
Unopinionated low level API bindings focused on soundness, safety, and stronger types over raw FFI.

?? firehazard ?? Create a fire hazard by locking down your (Microsoft) Windows so nobody can escape (your security sandbox.) Unopinionated low level A

null 5 Nov 17, 2022
Assignments of Stanford CS110L-2020spr: Safety in Systems Programming

CS110L Spring 2020: Safety in Systems Programming 课程简介 CS110L将带领我们学习 Rust ,这是一门注重 安全、性能、工程 的语言。 Why Rust? 我的浅显理解是:Rust 被设计出来旨在解决目前系统级编程的困难,其特征 “安全、性能、

Shaofeng 6 Dec 28, 2022
Nimbus - A virtual, networked filesystem with strong upfront safety guarantees

The Nimbus Filesystem Nimbus is a virtual, networked filesystem that provides upfront safety guarantees to a user, intended for personal use. In parti

Max Fan 3 Jan 10, 2023
Shell scripting that will knock your socks off

atom Shell scripting that will knock your socks off. NOTE: Click the image above for a video demonstration.

adam mcdaniel 256 Dec 14, 2022
McFly - fly through your shell history

McFly - fly through your shell history McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into accou

Andrew Cantino 4.8k Jan 7, 2023
Raw C Shell: interact with your operating system using raw C code, because why not?

rcsh Raw C Shell is a minimalist shell with no built in commands. You write entirely in C code and use return; to execute your code. Unlike that silly

null 4 Feb 7, 2023
Ask ChatGPT for a shell script, code, or anything, directly from your terminal 🤖🧠👨‍💻

ShellGPT Ask ChatGPT for a shell script, code, or anything, directly from your terminal ?? ?? ??‍?? Demo Install The binary is named gpt when installe

null 4 May 15, 2023
Animated app icons in your Dock that can run an arbitrary shell script when clicked.

Live App Icon for Mac Animated app icons in your Dock that can run an arbitrary shell script when clicked. Requirements macOS 13 (Ventura) or higher X

Daichi Fujita 13 Jun 8, 2023
A new type of shell

A new type of shell

Nushell Project 22.5k Jan 8, 2023
a cute shell thingy that written in rust

a cute shell thingy that written in rust

奥田 龍馬 12 Dec 29, 2021
A shell for research papers

Reason: A Shell for Research Papers Did I ever read this paper? Which OSDI 2021 papers did I read? Which ones have the word 'Distributed' in their tit

Jae-Won Chung 121 Nov 27, 2022
dune - A shell by the beach!

dune - A shell by the beach!

adam mcdaniel 640 Dec 29, 2022
A command-line shell like fish, but POSIX compatible.

A command-line shell like fish, but POSIX compatible.

Seiya Nuta 813 Dec 29, 2022
Zash - A Zuper Awesome Shell

Zash - A Zuper Awesome Shell Welcome to zash, its activily being developed and is not near a stable release. Installation Arch: yay -S zash Paru seem

Robiot 27 May 22, 2022
A very opinionated, zero-configuration shell prompt

A very opinionated, zero-configuration shell prompt

amy null 8 Nov 4, 2021
An interactive shell environment for exploring the p2panda protocol

An interactive shell environment for exploring the p2panda protocol. Uses a mock node and clients to simulate network logic.

null 4 Dec 12, 2021
Self-contained template system with Handlebars and inline shell scripts

Handlematters Self-contained template system with Handlebars and inline shell scripts Introduction Handlematters is a template system that combines Ha

Keita Urashima 3 Sep 9, 2022