Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
   _____ __              __              __                __
  / ___// /_  ____ _____/ /___ _      __/ /___ _____  ____/ /____
  \__ \/ __ \/ __ `/ __  / __ \ | /| / / / __ `/ __ \/ __  / ___/
 ___/ / / / / /_/ / /_/ / /_/ / |/ |/ / / /_/ / / / / /_/ (__  )
/____/_/ /_/\__,_/\__,_/\____/|__/|__/_/\__,_/_/ /_/\__,_/____/

Join the chat at Documentation Status

Shadowlands is a 100% Python, TextUI Dapp platform for ethereum, built on Python3.5+, and asciimatics


(click on the image below to see a live demo) Alt text

Getting Started

Credstick (hardware wallet) required

  • Ledger Nano S
  • Ledger Blue
  • Ledger Nano X
  • Trezor One
  • Trezor T

Full node required

If you have access to a full node over HTTP, Websockets or IPC, you can connect to it.

Otherwise I recommend installing and syncing the Parity Ethereum client.


Ubuntu and Debian linux instructions:

Install the provided .deb package on the releases page

Then, open a terminal and...

$ shadowlands

MacOS instructions:

Open a terminal and...

$ brew tap kayagoban/shadowlands
$ brew install shadowlands
$ shadowlands

If that didn’t work,

  1. Install a modern Python3 from the official repo: Python for MacOS
  2. The Python MacOS installer includes a folder that has a script that fixes your SSL certificates. Run that script, and the other one that sets up your shell environment.
  3. Install homebrew.

Other linux distribution instructions:

  1. Install a modern Python3
  2. run git clone in a terminal
  3. Install trezor udev rules and ledger udev rules
  4. edit line 5 of scripts/shadowlands to point the variable SL_DIR to where the repo was cloned to.
  5. run scripts/shadowlands and watch pip install fail.
  6. figure out what the pip modules need and do that.
  7. goto 5

Existing Shadowlands Dapps

Running a dapp

There are two ways to run a dapp:

  1. Download the dapp and place it in your local dapps directory and choose "Run local dapp" within Shadowlands.
  2. Type the ens name they are registered under in the "Run network dapp" option within Shadowlands.

Write your own Dapp


API documentation is available at ReadTheDocs.

Read the tutorial.

Hire me to write your dapp

If your company needs a shadowlands dapp, I can be contracted to make one for you.

Contact me at to discuss the scope of your company's project.

Security Audit (v0.16a)

Christopher M. Hobbs of Ascia Technologies performed a security audit on Shadowlands; here is the report.

Support Shadowlands

You can support Shadowlands directly by sending Ether and other things to shadowlands.eth


A Dapp platform and Ethereum terminal, entirely in Python.







No packages published

Contributors 4