Skip to content

add documents #1307

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

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

add documents #1307

wants to merge 1 commit into from

Conversation

Jim8y
Copy link
Contributor

@Jim8y Jim8y commented Apr 1, 2025

this pr adds document system for compiler and framework.

@Jim8y Jim8y requested a review from Copilot April 1, 2025 12:16
@Jim8y Jim8y marked this pull request as draft April 1, 2025 12:16
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request adds a comprehensive set of documentation for both the Neo Smart Contract Framework and the Neo C# Compiler, aimed at guiding developers through smart contract development, setup, and deployment. The new content details core concepts of NeoVM & GAS, getting started guides, and in-depth compiler documentation covering installation, options, internals, debugging, security analysis, and more.

  • Introduces detailed documentation pages for framework topics including NeoVM, GAS, and smart contract basics.
  • Provides comprehensive guides for setting up development environments, installing tools, and creating the first smart contract.
  • Expands the compiler documentation with internal architecture, usage instructions, available options, and maintenance guidelines.

Reviewed Changes

Copilot reviewed 67 out of 67 changed files in this pull request and generated no comments.

Show a summary per file
File Description
docs/framework/03-core-concepts/01-neovm-gas.md Adds an introductory document covering NeoVM and GAS concepts.
docs/framework/02-getting-started/README.md Provides a getting started guide for Neo smart contract development.
docs/framework/02-getting-started/03-first-contract.md Introduces a step-by-step guide for creating a "Hello World" Neo contract.
docs/framework/02-getting-started/02-installation.md Outlines framework and compiler installation and setup instructions.
docs/framework/02-getting-started/01-setup.md Describes the environment setup required for Neo smart contract development.
docs/framework/01-introduction/*.md Introduces Neo, smart contracts, and reasons to use C# on Neo.
docs/compiler/*.md Provides new documentation for the Neo C# Compiler including its usage, options, internals, and maintenance guides.
docs/compiler/01-using-compiler.md Explains how to use the compiler with practical examples and integration scenarios.

@Wi1l-B0t
Copy link
Contributor

Wi1l-B0t commented Apr 1, 2025

Great job!

* **File:** `<BaseName>.nef.txt` (e.g., `MyContract.nef.txt`)
* **Content:** Detailed breakdown of the NEF file structure, including script hash, opcodes with offsets, and potentially integrated debug information. Generated with the `--assembly` option.

* **Artifacts (`.cs`, `.dll`):**
Copy link
Member

@vncoelho vncoelho Apr 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very good!
I think that some examples of a simple contract here with explanation would be something very good to add to this guideline

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean results of asm, results of optimized nef, artifacts, etc. Just for a simple contract

* **Default:** Inlining is generally enabled.
* **Example:** `nccs MyContract.csproj --no-inline`

* **`--address-version <VERSION>`**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very good job, @Jim8y
I was not even aware of this address-version.

When was this included? I do not remember.


## Core Principles

* **Automation:** Code executes automatically when predefined conditions are met, removing the need for intermediaries.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do not have this yet, @Jim8y , do we?
It is an old feature discussed with @shargon

I still believe in this automation.

// destroy method (optional, to allow contract self-destruction)
// public static void destroy() { ... }
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good example, based on this example we could add the nef,artifacts, optimized nef, etc

Copy link
Member

@vncoelho vncoelho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very good work!
I will soon finish reading

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

Successfully merging this pull request may close these issues.

3 participants