- Make sure you have Gno CLI tools installed (
gnokey
,gnodev
, etc). - Start a local Gno node for development:
gnodev start --chainid dev
- Create and fund a key for signing transactions:
// code done with Claude Code ( no merits takens ) | |
// based of https://github.com/Okm165/zkp_systems_workshops/blob/master/3_polynomial_commitment_scheme/src/main.rs | |
// running: | |
// go run main.go | |
// Package main provides a simplified educational implementation of the FRI | |
// (Fast Reed-Solomon Interactive Oracle Proof of Proximity) protocol in Go. | |
// | |
// This implementation is designed for teaching purposes to demonstrate the core | |
// concepts of FRI, which is a foundational component in many modern STARK | |
// (Scalable Transparent Argument of Knowledge) systems. |
Your Neovim (`v0.11.2`) uses **Vim-Plug** with plugins in `~/.vim/plugged`: `coc.nvim` (LSP), `papercolor-theme` (theme), `fzf` (fuzzy finder), `tagbar` (code tags), `vim-go` (Go support, causing `noshellslash` error), `nerdtree` (file explorer), `vim-multiple-cursors` (multi-cursor editing), and `vim-solidity` (Solidity syntax). Config is in `~/.config/nvim/init.vim`, with settings for syntax, indentation, search, and `coc.nvim` mappings. No `~/.vimrc` or `init.lua`. | |
**To reset and reinstall** (avoiding `vim-go`): | |
```bash | |
cp -r ~/.config/nvim ~/.config/nvim.bak | |
rm -rf ~/.vim/plugged ~/.local/share/nvim ~/.cache/nvim ~/.config/nvim | |
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | |
mkdir -p ~/.config/nvim && nvim ~/.config/nvim/init.vim | |
# Paste: call plug#begin('~/.vim/plugged') | Plug 'preservim/nerdtree' | Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } | Plug 'junegunn/fzf.vim' | Plug 'vim-airline/vim-airline' | Plug ' |
# I have a accounts.json. with [{account:"0xaddress_public_key",private_key:"0xprivate_key"},] | |
# this creates the info I need to put on cdk-erigon to add balance to the accounts I want to simulate. | |
import json | |
# Load accounts data from JSON file | |
with open('accounts.json', 'r') as f: | |
data = json.load(f) | |
# Create a dictionary to store the new formatted data | |
formatted_data = {} |
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.20; | |
import "@openzeppelin/contracts/proxy/Clones.sol"; | |
import "@openzeppelin/contracts/access/AccessControl.sol"; | |
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; | |
/// @title MultiFactory Contract for creating clones of multiple implementations | |
/// @dev Extends AccessControl and Initializable from OpenZeppelin | |
contract MultiFactory is AccessControl, Initializable { |