Home

Awesome

Tests and findings studying Cairo-lang, SHARP resolvers and StarkNET

State: (ongoing)

Why?

With the goal of reducing the cost of Ethereum interactions and to learn techniques to increase privacy I am studying Cairo Lang.

Cairo allows to write code that can be executed regularly with user-input, or it can be executed with a reduced piece of data (pie) created during the first execution.

In the second execution one can verify that the first execution was done correctly without knowing the input.

In short: we can proove that the execution of a piece of code happened, that the execution was done on uncorrupted code without knowing the result.

Goals

Prerequisites

To run any of the scripts you need to install the cairo version specified in .cairorc.

You should also have jq and Python 3.8 installed.

From part 06 on, you will need a modern version of Node.js and run npm install in this folder. It would also be good to specify a INFURA_PROJECT_ID environment variable that can be setup at https://infura.io or - if that is a problem - a ETHERSCAN_API_KEY variable to avoid error messages when requesting code.