What is it?

Mjolnir, a power-packed VSCode Extension, simplifies how you write, compile and debug smart contracts for the VeChain Thor Blockchain network. It integrates seamlessly into VSCode and offers comprehensive Solidity debugging support which takes advantage of VSCode's standard debugging features (such as breakpoints, variables, and watches) to empower developers with a familiar set of tools to build dApps (instead of tooling) on VeChain.

  • Works out-of-the-box providing preconfigured toolkit to jumpstart all cycles of Smart Contract development (writing, compiling, deploying, and debugging).
  • One-tool-to-rule-them-all: provides built-in integration with Thor to offer frictionless edit-build-debug-and-deploy environment that ensures consistency across mainnet/testnet/local nodes.
  • Built-in Solidity Debugger: easily debug Solidity contracts against a local Thor node.

We believe that Mjolnir can empower developers, which will only positively affect the number of dApps on VeChainThor.

Installing

  1. Search Mjolnir on the VSCode Marketplace
  2. Launch VS Code Quick Open (Ctrl+P) and paste the following command: ext install jasmcaus.mjolnir-thor

Required Setup

You'll need to follow the following instructions to the T, otherwise you'll run into a number of issues when using Mjolnir.

  1. VeChainThor (please ensure that the final executable can be called as bin-thor. You might need to rename bin/thor => bin-thor and add to PATH).
  2. Web3-Gear (ensure it's accessible as web3-gear).

Features:

1. Create a new Project

Similar to create-react-app for React, this feature offers a familiar playing ground for users familiar with Ethereum and EVM-based blockchains. This effectively creates a project structure to allow users to develop smart contracts, aid in the compilation and deployment of these contracts, and allow a seamless debugging experience.

alt text

To follow:

  1. Ctrl/Cmd + Shift + P to open VSCode's Command Palette
  2. Type: Mjolnir: New Project
  3. Voila!

2. Compile your Smart Contracts

Following this directory structure, you can compile your smart contract(s) with ease.

alt text

To follow:

  1. Ctrl/Cmd + Shift + P to open VSCode's Command Palette
  2. Type: Mjolnir: Compile Contracts
  3. Enter!

or,

simply right-click on a Solidity (.sol) file and click Compile Contracts.

3. Deploy your Contracts

Once your smart contracts are compiled, it is now time to deploy them to an RPC endpoint. Mjolnir makes this easy by pre-populating your configuration with the following Thor endpoints:

  1. Mainnet
  2. Testnet
  3. Local Node

Mjolnir handles everything for you (including the creation of a Solo Node instance if a Local node is selected), so all you need to do is:

alt text

To use:

  1. Ctrl/Cmd + Shift + P to open VSCode's Command Palette
  2. Type: Mjolnir: Deploy Contracts
  3. Select the type of endpoint (mainnet/testnet/local node)
  4. Let the magic begin!

4. Debugging your Smart Contracts

For rapid development, Mjolnir integrates a local Thor solo node directly into VSCode to provide users with a seamless "mock" debugging interface, including the ability to use VSCode-native debugging commands such as variable exploration, watch commands, and setting breakpoints. The possibilities are endless!

alt text

To use:

  1. Ctrl/Cmd + Shift + P to open VSCode's Command Palette
  2. Type: Mjolnir: Debug Smart Contracts
  3. Enter the transaction hash you want to debug
  4. Let the (debugging) magic begin!

Future Plans/Roadmap

Future releases of Mjolnir will see the introduction of a visual blockchain tool that would allow:

  1. the creation & management of local blockchain instances
  2. the creation & management of wallets
  3. the transfer of assets (like VET/VTHO) between said wallets
  4. interactive blockchain exploration

and more...

Built With

Share this project:

Updates