Skip to main content
Filter posts by tag

· 2 min read
Josh Crites

Hardhat is one of the most popular developer tools for writing contracts for EVM compatible blockchains. Hardhat is a great tool for developing smart contracts for Celo--you can find more information about this in the Celo documentation here.

In this tutorial I will go over how to use the hardhat-deploy plugin for hardhat, specifically to verify deployed contracts on the Celo block explorer via Sourcify. You can verify contracts with the plugin whether you deployed them using the plugin or not.

In this post I will cover

  • setting up a hardhat project with the hardhat-deploy plugin
  • deploying contracts using the plugin
  • how to verify the contracts on sourcify

· 5 min read
Josh Crites

The Graph protocol makes it easy to get historical blockchain data. This can be useful when you want to check a users history of using a specific token or interacting with a specific contract. It may also be useful when collecting data about the activity around a specific contract, or set of contracts. The Graph also makes this data easy to transform, organize and share across applications.

In this post I explore

What is the Graph?

From the Graph website:

The Graph is a decentralized protocol for indexing and querying data from blockchains, starting with Ethereum. It makes it possible to query data that is difficult to query directly.

The problem that the Graph solves is that indexing blockchain data is actually very difficult. Additionally, the Graph makes it easy to get historical blockchain data without having to run your own archive node or paying to access an archive node through a node service provider, like Quicknode.

· 2 min read
Josh Crites

What is Observable?

Observable HQ is a Javascript notebook tool that makes it easy to share executable Javascript code right in the browser. This greatly reduces the friction around introducing and educating people about tools or features. Observable is designed primarily as a data visualization tool, but I have found it to be helpful for explaining and demonstrating concepts and behaviors for web3 as well.

For the official introduction to Observable, check out the 5 minute introduction.

Why I like it

Easy to setup

First of all, there is nothing to download! This is a huge benefit when introducing developers to new technology. I can show off features and techniques for using new tech without requiring developers to have to download anything or set up an environment. This makes it easier to spark curiosity and inspire people to continue on their learning journey.

· 2 min read
Josh Crites

Let's see how we can interact with Metamask from the code playground. We can connect to Metamask, switch networks, add tokens to the Metamask asset list and send them to other accounts.

This post uses a live code editor. Check out this post to learn more about how it works.


Make sure that you have have Metamask installed in your browser.

Connect to Metamask

The following example shows how to connect Metamask to this browser page.


This function will only trigger an action if Metamask is not yet connect to the site. If you've already connected, nothing will happen.

Live Editor

· One min read
Josh Crites

This post provides an introduction to the live code editor that is included as a feature in this blog. It allows you to see working examples of things like connecting to the Celo network with Metamask and initiating user transactions with the SDK.

If you have any suggestions for examples that you'd like to see, or if you'd like to create one yourself and have it included in the blog, please reach out to me at or on Discord at joshc#0001.

Live coding

This is a live, editable code block. You can update the code right on this page and it will be compiled and executed as you updated it. This is a powerful feature for learning and testing code in real time--you get immediate feedback about what works and what doesn't.


The code is rendered using React Live. This means that the code is rendered as a React component, which gives you access to React features like hooks, but also limits what is possible.

· 2 min read
Josh Crites

Contribute to Celo.

Open Source

Celo is an open source project and without community contributions from people like you Celo wouldn't exist. We welcome contributions to our codebase, documentation, translations and blog.

It can be difficult to find ways to meaningfully contribute to a new project, but writing a guest post on our blog is a great way to get started!

Write about your experience as a member of the Celo community, whether you're a CELO owner or a project founder. Your experience and perspective is valuable and can help others.