Skip to content

Commit 9662b13

Browse files
Merge pull request #27 from runtimeverification/raoul/github-auth
GitHub Authentication
2 parents a5f83ab + b01565b commit 9662b13

10 files changed

+171
-182
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
All notable changes to the "Simbolik VSCode" extension will be documented in this file.
44

5+
## [6.0.0] - 2025-02-20
6+
7+
- Users can now authenticate via GitHub in addition to Simbolik API keys
8+
59
## [5.0.0] - 2025-01-13
610

711
- Simbolik only recompiles the contracts if the source code has changed

README.md

+21-51
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,39 @@
11
# Solidity Debugger for Visual Studio Code
22

3-
> [!IMPORTANT]
4-
> Please follow the instructions in our [Getting Started Guide](https://docs.runtimeverification.com/simbolik/overview/getting-started) to set up the extension correctly.
3+
Simbolik is Solidity debugger for **Foundry** projects.
4+
It allows you to step through your Solidity code line by line, set breakpoints and inspect variables.
55

6-
> [!IMPORTANT]
7-
> The extension connects to the Simbolik API to provide debugging capabilities, and it transfers your compilation artifacts to our servers.
8-
> The data is deleted after the debugging session is finished.
6+
## Quick Start
97

10-
## Overview
8+
On first use Simbolik may ask for GitHub access. Alternatively, you can provide a Simbolik API key, [read more](https://docs.runtimeverification.com/simbolik/overview/getting-started).
119

12-
Simbolik is a powerful extension that allows developers to debug their Solidity smart contracts directly within Visual Studio Code.
13-
With this extension, you can easily set breakpoints, inspect variables, step through code, and debug your Solidity contracts with ease.
10+
Simbolik follows a **zero-configuration** approach where possible and falls back to **configuraiton-as-code** where needed.
11+
For simple smart contracts, you can start debugging with just a single click on the `▷ Debug`-button.
1412

15-
Do you have questions, or need help?
16-
17-
Visit our Documentation: https://docs.runtimeverification.com/simbolik
18-
Join our Discord: https://discord.gg/jnvEeDxW
19-
Join our TG group: https://t.me/rv_simbolik
20-
21-
<img src="https://github.com/runtimeverification/simbolik-vscode/raw/master/images/simbolik-screenshot-1.png?raw=true" width="800" />
22-
23-
## Features
13+
![Zero Configuration](images/readme/zero-config.gif)
2414

25-
- **Step-by-step debugging**: Debug your Solidity smart contracts line by line.
26-
- **Variable inspection**: View the current values of variables while debugging.
27-
- **Inspect EVM state**: View the current state of the EVM while debugging.
28-
- **Breakpoints**: Set breakpoints in your Solidity code to pause execution and inspect the state.
29-
- **Bytecode debugging**: Debug the compiled bytecode of your Solidity contracts.
15+
For complex smart contracts, you setup your debugging session similarly to a Foundry unit tests:
16+
You first define a `setUp` function to initialize your contracts, and then provide test function that calls the function you want to debug.
17+
If the test function is public and does not have parameters, the `▷ Debug`-button shows up, [read more](https://docs.runtimeverification.com/simbolik/overview/starting-the-debugger#debuggable-functions).
3018

31-
## Coming Soon
19+
## Inspect Variables
3220

33-
- **Foundry Cheatcodes**: Use Foundry's cheatcodes to quickly find bugs in your Solidity code.
34-
- **Symbolic Execution**: Enter an advanced symbolic execution mode to explore all possible paths through your Solidity code. You can get a sneak-peek of this feature at [try.simbolik.runtimeverification.com](try.simbolik.runtimeverification.com).
21+
![Inspect Variables](images/readme/variables.gif)
3522

36-
## Getting started
23+
## Time Travel Debugging
3724

38-
For detailed instructions and troubleshooting tips, please refer to our [Getting Started Guide](https://docs.runtimeverification.com/simbolik/overview/getting-started).
39-
Here is the quick version:
25+
![Time Travel Debugging](images/readme/time-travel-debugging.gif)
4026

41-
To use the Solidity Debugger for Visual Studio Code, you need Foundry installed on your machine.
42-
Furthermore, you need a free API key from the Simbolik Website.
27+
## EVM Level Debugging
4328

44-
### Setup Foundry
29+
![EVM Level Debugging](images/readme/evm-debugging.gif)
4530

46-
```bash
47-
curl -L https://foundry.paradigm.xyz | bash
48-
foundryup
49-
```
31+
## Questions?
5032

51-
### Get a free API key
52-
53-
1. Go to the [Simbolik Website](https://simbolik.runtimeverification.com) and login with GitHub, Metamask or Google.
54-
2. Copy the API key from the dashboard.
55-
3. Open the settings in Visual Studio Code and search for "Simbolik API Key".
56-
4. Paste the API key into the input field.
57-
58-
## Usage
59-
60-
1. Open your Foundry project in Visual Studio Code. If you don't have a project at hand, you can clone our [example project](https://github.com/runtimeverification/simbolik-examples).
61-
2. Set breakpoints in your Solidity code by clicking on the gutter area next to the line numbers.
62-
3. Click the "Debug" button above any parameterless public/external function in your Solidity contract.
63-
5. Use the debug toolbar to step through your code, inspect variables, and control the debugging process.
33+
Do you have questions, or need help?
6434

65-
For more detailed instructions and troubleshooting tips, please refer to the [documentation](https://docs.runtimeverification.com/simbolik).
35+
Visit our Documentation: https://docs.runtimeverification.com/simbolik \
36+
Join our Discord: https://discord.gg/jnvEeDxW \
37+
Join our TG group: https://t.me/rv_simbolik
6638

67-
## Contribution
6839

69-
Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request on [GitHub](https://github.com/runtimeverification/simbolik-vscode).

images/readme/evm-debugging.gif

3.26 MB
Loading
5.5 MB
Loading

images/readme/variables.gif

2.42 MB
Loading

images/readme/zero-config.gif

2.26 MB
Loading

0 commit comments

Comments
 (0)