solidity-development

Solidity Development Workflow

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "solidity-development" with this command: npx skills add hiromaily/go-crypto-wallet/hiromaily-go-crypto-wallet-solidity-development

Solidity Development Workflow

Workflow for Solidity smart contract changes in the apps/eth-contracts/ Foundry project.

Prerequisites

Use git-workflow Skill for branch management, commit conventions, and PR creation.

Applicable Directories

Path Description

apps/eth-contracts/contracts/

Smart contract source files

apps/eth-contracts/script/

Foundry deployment scripts

apps/eth-contracts/test/

Foundry test files (*.t.sol )

Toolchain

Tool Version Role

Foundry (forge ) 1.6.0-nightly Compile, test, deploy

Solidity ^0.8.34

Smart contract language

OpenZeppelin Contracts ^5.6.1

ERC-20 / standard base contracts

bun primary npm package manager

solhint ^6.0.3

Solidity linter

dprint ^0.52.0

JS/TS formatter

Note: forge is installed at ~/.foundry/bin/forge (may not be in PATH). Run with full path or add ~/.foundry/bin to PATH .

Setup (first time)

cd apps/eth-contracts

1. Install forge-std (Foundry testing/scripting library)

forge install foundry-rs/forge-std

2. Install npm dependencies (@openzeppelin/contracts, solhint, dprint)

bun install

Verification Commands

cd apps/eth-contracts

forge build # Compile all contracts (artifacts → out/) forge test -v # Run Foundry unit tests bun run lint # Solidity lint via solhint (must exit 0, zero errors) bun run fmt # Format JS/TS files via dprint (must exit 0)

Deployment (local)

cd apps/eth-contracts export PRIVATE_KEY=0x<deployer-private-key> forge script script/DeployHYC.s.sol --rpc-url http://localhost:8545 --broadcast

→ outputs contract address, tx hash, gas usage

Compatible with both anvil and geth nodes at http://localhost:8545 .

Self-Review Checklist

Code Quality

  • Named imports used (import {Foo} from "..." ) — no global imports

  • NatSpec tags present (@title , @author , @notice , @param ) on contracts and public functions

  • Explicit visibility on all functions (constructors exempt in Solidity ≥0.8)

  • Gas optimization considered

  • Events emitted for state changes

Security

  • No reentrancy vulnerabilities

  • No hardcoded private keys or sensitive values — use env vars

  • .env added to .gitignore

  • Access control properly implemented

  • Integer overflow protection (Solidity ≥0.8 has built-in checks)

Testing

  • Foundry test file (test/*.t.sol ) covers all acceptance criteria

  • forge test passes with zero failures

  • bun run lint exits 0 with zero solhint errors

ABI / Go Bindings

After contract changes, if Go bindings are needed:

1. Compile

cd apps/eth-contracts forge build

2. Regenerate Go bindings (if target ABI changed)

make gen-abi

Related Chain Context

Related Skills

  • git-workflow

  • Branch, commit, PR workflow

  • github-issue-creation

  • Task classification

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

btc-terminology

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

shell-scripts

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

docs-update

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

makefile-update

No summary provided by upstream source.

Repository SourceNeeds Review