Daftar Isi
  • Edit Halaman
  • Smart Contract Repo File Structure

    Info

    This is a beta version of the Solana Toolkit, and is still a WIP. Please post all feedback as a GitHub issue here.

    Typically Solana smart contracts (aka programs) workspaces will be have the following file structure:

    .
    ├── app
    ├── migrations
    ├── node_modules
    ├── programs
    ├── target
    └── tests

    The main smart contract is the lib.rs file, which lives insides the programs directory, as shown below:

    .
    ├── app
    ├── migrations
    ├── node_modules
    ├── programs
        ├── src
            ├── lib.rs
    ├── target
    └── tests

    As the smart contract gets more cumbersome, you'll typically want to separate the logic into multiple files, as shown below:

    ├── programs
        ├── src
            ├── state.rs
            ├── instructions
                ├── instruction_1.rs
                ├── instruction_2.rs
                ├── instruction_3.rs
            ├── lib.rs
            ├── constants.rs
            ├── error.rs
            ├── mod.rs

    For native rust smart contract development, you need to explicitly write out the entrypoint and processor for the program, so you'll need a few more files:

    ├── program.rs
       ├── src.rs
       ├──assertions.rs
       ├──entrypoint.rs
       ├──error.rs
       ├──instruction.rs
       ├──lib.rs
       ├──processor.rs
       ├──state.rs
       ├──utils.rs
       ├── Cargo.toml
       ├── keypair.json
       ├── README.md