// inside head tag

Unlocking Onboarding to Starknet: An Overview of the Starknet Remix Plugin

Starknet

September 4, 2023

In the realm of Ethereum contract development, The Remix Project holds a high repute, offering a feature-rich toolset for developers of all levels. Acting as a learning lab, it provides an environment for experimenting with contracts’ capabilities and figuring out vulnerabilities. Today, we dive into an important addition to this toolset, the Starknet Remix Plugin, which we’ve developed with love at Nethermind.

The Starknet Remix Plugin

Contract development is a multifaceted process involving several stages, from coding to deployment. The Starknet Remix Plugin is designed to streamline the journey for Starknet developers, providing a seamless interface for writing Cairo code.

This plugin’s introduction into Remix is a significant leap forward in bringing the platform to the Starknet Ecosystem. Whether you are a seasoned Cairo developer, a novice looking to learn, or an educator experimenting with Starknet, the goal of this plugin is to serve as a powerful aid in your approach to this ecosystem.

Benefits

1. Simplified Compilation

The plugin simplifies the process of compiling Cairo code, eliminating the need for developers to install Cairo and use more complicated methods of compiling on your own machine. By integrating Cairo compilation into The Remix Project, developers can stay within one development environment for all stages of contract development, thus saving time and effort.

The compilation section of the plugin
You can compile your Cairo with one simple click!

2. Flexible Deployment Options

With the Starknet Remix Plugin, developers have the freedom to deploy contracts on Starknet’s Testnets, Mainnet, a devnet we provide, or use their own. This flexibility opens up possibilities for quickly testing and experimenting with contracts in different environments.

Where it’s shown the declaration and deployment of contracts through the Braavos wallet
Declare and deploy your contracts from your own account!

3. Enhanced Functionality

Apart from compiling and deploying contracts, the plugin also allows developers to call their deployed contract’s functions to both read and write. This addition makes Remix a complete development solution for Starknet, facilitating not only the creation and deployment of contracts but also their testing and interaction.

4. Scarb Support

Seamless integration with Scarb TOML files is a relevant feature of this Plugin. If you’re already using Scarb for dependency management, compiling, and other development tasks, you’ll be able to easily import a project in Remix or have someone test out your project without installing dependencies.

The scarb package compilation screen
You can choose between an entire project or an existing file

5. Explorer access

One of the convenient features of the Plugin is its integration with leading blockchain explorers like Voyager. Upon executing transactions, you are provided with a transaction hash that can be directly clicked. This redirects you to the corresponding explorer, allowing you to scrutinize transaction details, confirmations, and event logs in real time. It’s a seamless way to validate that your transactions are being executed.

The transacion list with links
Open up any transaction on Voyager.

How to Use

Step 1: Installing the Plugin

  1. Visit The Remix Project
  2. Access the plugins: look for the ‘Plugins’ section located at the bottom left corner.
  3. Find “Starknet” and enable it.
  4. Once enabled, you’ll notice the Starknet logo on the left sidebar. Click on it to interact with opened Cairo files.

Step 2: Compiling Cairo Code

It is as simple as clicking Compile with a valid Cairo file open. After the compilation, you’ll have your Sierra and CASM files in the artifact folder for further inspection. This will also allow the deployment of said contracts.


Step 3: Deploying Contracts

For this, you’ll need to decide on an environment.

  • You can choose to use our remote devnet, from which you’ll have access to 10 accounts to play around with.
  • Or you can do the same with a devnet you run on your machine!
  • Alternatively you can select the wallet you want to use as an account and interact with Mainnet or a testnet. If you’re not interested in using your account for this, you can create a test account and fund it from the faucet and deploy.
Select your desired environment, copy your accounts, play around, and find out!

After that, it’s a matter of going to the Deploy tab, selecting your compiled contract, and clicking Deploy.

You can even create a temporary account for your deployment!

Step 4: Calling Contract Functions

After your deployment is complete, feel free to reach for the Interact tab and see a list of the methods from your contract. You’ll be able to use read-and-write methods from your contract.

You’ll be able to see the result of the Remix console.Interaction section showing how to call functions from a contract
You’ll be able to see the result of the Remix console.

Learn with Starknet by Example

For those who learn best by doing, our Starknet Remix Plugin is integrated with Starknet By Example, a rich repository of practical learning content. A single click on their tutorials and examples will directly open the respective Cairo files in Remix. You can immediately read, edit, and run code without the need to switch contexts.

Contributing

Our project thrives on the collective efforts of our community. Beyond just code, your ideas, feedback, documentation, and designs can significantly propel this project forward.

We’re at a pivotal stage, and your involvement could be transformative. Dive in, make your mark, and be part of making onboarding to Starknet a breeze!

Ready to contribute? Review our contribution guidelines and check out our open issues to get started.

Conclusion

In an ever-evolving Starknet ecosystem, providing developers with the right tools is crucial for progress. The Starknet Remix Plugin is a step towards that objective, integrating the power of Cairo into Remix and fostering a seamless development experience.

As we further explore the plugin’s advances in upcoming posts, we look forward to your feedback and encourage you to join us on this journey.

Latest articles