Skip to content

Commit

Permalink
Fix all small Typeo Issue
Browse files Browse the repository at this point in the history
  • Loading branch information
hardiktheprogrammer committed Jan 28, 2024
1 parent de4d6de commit 3b6830e
Show file tree
Hide file tree
Showing 9 changed files with 64 additions and 80 deletions.
14 changes: 7 additions & 7 deletions src/ch00-00-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,30 +53,30 @@ Starknet's ethos is anchored in core principles ([Eli Ben-Sasson, Bareli, Brandt

These are some key features of Starknet:

- Low Costs: Transactions on Starknet cost less than on Ethereum.
- **Low Costs**: Transactions on Starknet cost less than on Ethereum.
Future updates like Volition and EIP 4844 will make it even cheaper.

- Developer-Friendly: Starknet lets developers easily build
- **Developer-Friendly**: Starknet lets developers easily build
decentralized apps using its native language, Cairo.

- Speed and Efficiency: Upcoming releases aim to make transactions
- **Speed and Efficiency**: Upcoming releases aim to make transactions
even faster and cheaper.

- CVM: Thanks to Cairo, Starknet runs on it´s own VM, called Cairo VM
- **CVM**: Thanks to Cairo, Starknet runs on it´s own VM, called Cairo VM
(CVM), that allow us to innovate beyond the Ethereum Virtual Machine
(EVM) and create a new paradigm for decentralized applications.

Here are some of them:

- Account Abstraction: Implemented at the protocol level, this
- **Account Abstraction**: Implemented at the protocol level, this
facilitates diverse signing schemes while ensuring user security and
self-custody of assets.

- Volition: Will be implemented on testnet during Q4 2023 will allow
- **Volition**: Will be implemented on testnet during Q4 2023 will allow
developers to regulate data availability on Ethereum (L1) or on
Starknet (L2). Reducing L1 onchain data can radically reduce costs.

- Paymaster: Starknet will allow users to choose how to pay for
- **Paymaster**: Starknet will allow users to choose how to pay for
transaction fee, follows the guidelines laid out in EIP 4337 and
allows the transaction to specify a specific contract, a
**Paymaster**, to pay for their transaction. Supports gasless
Expand Down
12 changes: 6 additions & 6 deletions src/ch02-00-starknet-tooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ enabling efficient dApp development.
Here’s a quick rundown of the tools that could be used for Starknet
development and that we’ll cover in this chapter:

1. Scarb: A package manager that compiles your contracts.
1. **Scarb**: A package manager that compiles your contracts.

2. Starkli: A CLI tool for interacting with the Starknet network.
2. **Starkli**: A CLI tool for interacting with the Starknet network.

3. Starknet Foundry: For contract testing.
3. **Starknet Foundry**: For contract testing.

4. Katana: Creates a local test node.
4. **Katana**: Creates a local test node.

5. SDKs: starknet.js, Starknet.py, and starknet.rs interface with
5. **SDKs**: starknet.js, Starknet.py, and starknet.rs interface with
Starknet using common programming languages.

6. Starknet-react: Builds front-end apps using React.
6. **Starknet-react**: Builds front-end apps using React.
6 changes: 5 additions & 1 deletion src/ch02-06-starkli.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# Starkli: Querying Starknet

[Starkli](https://book.starkli.rs/) is a Command Line Interface (CLI) tool designed for Starknet interaction, utilizing the capabilities of [starknet-rs](https://github.com/xJonathanLEI/starknet-rs). This tool simplifies querying and executing transactions on Starknet.
[Starkli](https://book.starkli.rs/) is a Command Line Interface (CLI) tool designed for Starknet interaction, utilizing the capabilities of [starknet-rs](https://github.com/xJonathanLEI/starknet-rs). This tool simplifies querying and executing transactions on Starkn et.

<<<<<<< HEAD
> **NOTE:** Before continuing with this chapter, make sure you have completed the Basic Installation subchapter of Chapter 2. This includes the installation of Starkli.
=======
> NOTE: Before continuing with this chapter, make sure you have completed the Basic Installation subchapter of Chapter 2. This includes the installation of Starkli.
>>>>>>> 97de1e8ae50ff447117faec5d147f0124d075eea
In the next subchapter we will create a short Bash script using Starkli to query Starknet. It's just an example, however, creating your own Bash scripts to interact with Starknet would be very useful in practice.

Expand Down
4 changes: 4 additions & 0 deletions src/ch02-08-01-deployment-script.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Deployment Script Example

<<<<<<< HEAD
> **RECOMMENDED:** Before starting this chapter, make sure you have completed the Starknet Devnet subchapter.
=======
> RECOMMENDED: Before starting this chapter, make sure you have completed the Starknet Devnet subchapter.
>>>>>>> 97de1e8ae50ff447117faec5d147f0124d075eea
This tutorial explains how to set up a test and deployment environment for smart contracts. The given script initializes accounts, runs tests, and carries out multicalls.

Expand Down
10 changes: 9 additions & 1 deletion src/ch03-06-solidity-verifier.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ Starknet's Solidity Verifier plays a pivotal role in the rollup landscape, ensur

## Quick Overview: SHARP and Sharp Jobs

> NOTE: For a more detailed explanation of SHARP and Sharp Jobs, refer to the Provers subchapter in the Starknet Architecture chapter. This is a brief review.
<<<<<<< HEAD
>**NOTE**: For a more detailed explanation of SHARP and Sharp Jobs, refer to the Provers subchapter in the Starknet Architecture chapter. This is a brief review.
=======
NOTE: For a more detailed explanation of SHARP and Sharp Jobs, refer to the Provers subchapter in the Starknet Architecture chapter. This is a brief review.
>>>>>>> 97de1e8ae50ff447117faec5d147f0124d075eea
SHARP, or Shared Prover, in Starknet, aggregates various Cairo programs from distinct users. These programs, each with unique logic, run together, producing a common proof for all, optimizing cost and efficiency.

Expand Down Expand Up @@ -99,7 +103,11 @@ Below is a visual representation of these parameters in relation to key contract
- **Verification:** It integrates with `MerkleStatementContract` for merkle verification and `FriStatementContract` for Fri-related tasks.
- **Security:** The `num_security_bits` and `min_proof_of_work_bits` contracts ensure secure operation.

<<<<<<< HEAD
> **NOTE:** For instances like `CpuFrilessVerifier0`, specific contracts (e.g., `CpuConstraintPoly0`, `PoseidonPoseidonFullRoundKeyColumn0`, `CpuOods0`) become particularly relevant.
=======
**NOTE:** For instances like `CpuFrilessVerifier0`, specific contracts (e.g., `CpuConstraintPoly0`, `PoseidonPoseidonFullRoundKeyColumn0`, `CpuOods0`) become particularly relevant.
>>>>>>> 97de1e8ae50ff447117faec5d147f0124d075eea
#### GpsStatementVerifier Constructor Parameters

Expand Down
10 changes: 10 additions & 0 deletions src/ch03-08-01-deploymet-and-interaction.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,23 @@ In this section we will be focussing on declaring, deploying and interacting wit

To declare and deploy the piggy bank contract, it’s required that you have the following available; don't worry, we’ll point you to resources or links to get them sorted out.

<<<<<<< HEAD
1. **Starkli**: Starkli is a CLI tool that connects us to the Starknet blockchain. Installation steps can be found [here](ch02-02-starkli-scarb-katana.md).

2. **Starknet testnet RPC**: You need your personalized gateway to access the starknet network. Starkli utilizes this API gateway to communicate with the starknet network: you can get one from Infura [here](https://app.infura.io).

3. **Deployer Account**: To interact with the starknet network via Starkli, you need a cli account/ wallet. You can easily set that up by going through [this page](ch04-03-deploy-hello-account.md).

4. **Sufficient gas fees to cover the declaration and deployment steps**: you can get starknet Goerli Eth either by bridging your Goerli Eth on Ethereum to Starknet [here](https://goerli.starkgate.starknet.io/), or by using the starknet faucet to get goerli Eth [here](https://faucet.goerli.starknet.io/).
=======
1. **Starkli**: Starkli is a CLI tool that connects us to the Starknet blockchain. Installation steps can be found [here](ch02-02-starkli-scarb-katana.md).

2. **Starknet testnet RPC**: You need your personalized gateway to access the starknet network. Starkli utilizes this API gateway to communicate with the starknet network: you can get one from Infura [here](https://app.infura.io).

3. **Deployer Account**: To interact with the starknet network via Starkli, you need a cli account/ wallet. You can easily set that up by going through [this page](ch04-03-deploy-hello-account.md).

4. Sufficient gas fees to cover the declaration and deployment steps: you can get starknet Goerli Eth either by bridging your Goerli Eth on Ethereum to Starknet [here](https://goerli.starkgate.starknet.io/), or by using the starknet faucet to get goerli Eth [here](https://faucet.goerli.starknet.io/).
>>>>>>> 97de1e8ae50ff447117faec5d147f0124d075eea
Once you’ve been able to sort all that out, let's proceed with declaring and deploying the piggy bank contract.

Expand Down
73 changes: 8 additions & 65 deletions src/ch04-02-hello-account.md
Original file line number Diff line number Diff line change
@@ -1,71 +1,14 @@
# Hello World! Account Contract
# Hello World Account Contract

<<<<<<< HEAD
> **NOTE:** THIS CHAPTER NEEDS TO BE UPDATED TO REFLECT THE NEW SYNTAX FOR ACCOUNT CONTRACTS. PLEASE DO NOT USE THIS CHAPTER AS A REFERENCE UNTIL THIS NOTE IS REMOVED.
> **NOTE:**
THIS CHAPTER NEEDS TO BE UPDATED TO REFLECT THE NEW SYNTAX FOR ACCOUNT CONTRACTS. PLEASE DO NOT USE THIS CHAPTER AS A REFERENCE UNTIL THIS NOTE IS REMOVED.

> **CONTRIBUTE**: This subchapter is missing an example of declaration, deployment and interaction with the contract. We would love to see your contribution! Please submit a PR.
=======
This section guides you through the creation of the simplest possible account contract, adhering to the SNIP-6 standard. The account contract will be the simplest implementation of an account contract, with the following features:
**CONTRIBUTE: This subchapter is missing an example of declaration, deployment and interaction with the contract. We would love to see your contribution! Please submit a PR.**

- Signature validation for transactions will be not enforced. In other words, every transaction will be considered valid no matter who signed it; there will be no pivate key.
- It will make a single call and not multicall in the execution phase.
- It will only implement the SNIP-6 standard which is the minimum to be considered an account contract.


We will deployed using `starknet.py` and use it to deploy other contracts.

## Setting Up Your Project

For deploying an account contract to Starknet's testnet or mainnet, use Scarb version 2.3.1, which is compatible with the Sierra 1.3.0 target supported by both networks. For the latest information, review the [Starknet Release Notes](https://docs.starknet.io/documentation/starknet_versions/version_notes/). As of November 2023, Scarb version 2.3.1 is the recommended choice.

To check your current Scarb version, run:

```bash
scarb --version
```

To install or update Scarb, refer to the Basic Installation instructions in Chapter 2, covering macOS and Linux environments:

```bash
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh
```

## Starting a New Scarb Project

Begin by creating a new project (more details in the Scarb subchapter in Chapter 2):

```bash
scarb new hello_account
```

Check the generated project structure:

```bash
$ tree .
.
└── hello_account
├── Scarb.toml
└── src
└── lib.cairo
```

By default, Scarb sets up for vanilla Cairo. Add Starknet capacities by editing `Scarb.toml` to include the `starknet` dependency:

```bash
[package]
name = "hello_account"
version = "0.1.0"

[dependencies]
starknet = ">=2.3.0"

[[target.starknet-contract]]
sierra = true
casm = true
casm-add-pythonic-hints = true
```

Replace the code in `src/lib.cairo` with the Hello World account contract:
In this chapter, we will explore the fundamentals of account contracts
in Starknet using an example "Hello World" account contract written in
Cairo language. You can find it in the contracts directory of this
chapter in the Book’s repository (TODO: add link).

```rust
use starknet::account::Call;
Expand Down
11 changes: 11 additions & 0 deletions src/ch04-03-standard-account.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Standard Account Contract

<<<<<<< HEAD
>**NOTE:**
>THIS CHAPTER NEEDS TO BE UPDATED TO REFLECT THE NEW SYNTAX FOR ACCOUNT CONTRACTS. PLEASE DO NOT USE THIS CHAPTER AS A REFERENCE UNTIL THIS NOTE IS REMOVED.
Expand All @@ -14,6 +15,16 @@ For deploying an account contract to Starknet's testnet or mainnet, use Scarb ve

To check your current Scarb version, run:

=======
This section guides you through the creation of a standard account contract, adhering to the SNIP-6 and SRC-5 standards. Previously, we created a simple account contract that lacked signature validation and multicall execution. This time, we'll implement a more robust account contract that includes these features and adheres to the standards of an account contract.

## Setting Up Your Project

For deploying an account contract to Starknet's testnet or mainnet, use Scarb version 2.3.1, which is compatible with the Sierra 1.3.0 target supported by both networks. For the latest information, review the [Starknet Release Notes](https://docs.starknet.io/documentation/starknet_versions/version_notes/). As of November 2023, Scarb version 2.3.1 is the recommended choice.

To check your current Scarb version, run:

>>>>>>> 97de1e8ae50ff447117faec5d147f0124d075eea
```bash
scarb --version
```
Expand Down
4 changes: 4 additions & 0 deletions src/ch04-05-06-web-wallet.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,11 @@ const connectWallet = async () => {
};
```

<<<<<<< HEAD
> **NOTE**: Web Wallet is currently available only on the mainnet. For testnet access, contact the Argent team.
=======
> NOTE: Web Wallet is currently available only on the mainnet. For testnet access, contact the Argent team.
>>>>>>> 97de1e8ae50ff447117faec5d147f0124d075eea
## Transaction Signing Process

Expand Down

0 comments on commit 3b6830e

Please sign in to comment.