Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The o1js GitHub Action is used to deploy Mina smart contracts and store the blockchain data in a Git repository. Here's a breakdown of the process: #13

Open
jmikedupont2 opened this issue Sep 7, 2024 · 0 comments

Comments

@jmikedupont2
Copy link
Member

The o1js GitHub Action is used to deploy Mina smart contracts and store the blockchain data in a Git repository. Here's a breakdown of the process:

Initialization: Set up the o1js library and initialize a local instance of the Mina blockchain for testing purposes. This can be done with the option to enable or disable proofs.
Key Generation: Define the necessary private and public keys for both the deployer and sender accounts. Generate a new public/private key pair, with the public key representing the address where the smart contract will be deployed.
Smart Contract Deployment: Use the o1js library to deploy the Mina smart contract to the local blockchain instance.
Blockchain Data Storage: Store the blockchain data, including the deployed smart contract, in a Git repository. This can be achieved by committing the blockchain state to the repository.

Key Components

o1js-bindings repository: Provides bindings for o1js to lower layers of the proof system and the Mina transaction logic.
mina-signer package: Used to hash and sign transactions.
o1js framework: A TypeScript framework for building zkApps on Mina.

GitHub Action Workflow

  1. Initialize the local Mina blockchain instance.
  2. Generate private and public keys for deployer and sender accounts.
  3. Deploy the Mina smart contract using o1js.
  4. Commit the blockchain state, including the deployed smart contract, to the Git repository.

Note**: The exact implementation details may vary depending on the specific requirements and configurations used. The provided information focuses on the high-level overview of the process and key components involved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant