Skip to content

NEO Persistable Classes (NPC) Compiler 2.1 (npcc) - Compiler for the NEO Persistable Classes (NPC) Platform 2.1

License

Notifications You must be signed in to change notification settings

mwherman2000/neo-npcc2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

neo-npcc2

NEO Persistable Classes (NPC) Compiler 2.1 (npcc) - Compiler for the NEO Persistable Classes (NPC) Platform 2.1

NEO Blockchain C# Center of Excellence

The neo-csharpcoe project is an "umbrella" project for several initiatives related to providing tools and libraries (code), frameworks, how-to documentation, and best practices for enterprise application development using .NET/C#, C#.NEO and the NEO Blockchain.

The neo-csharpcoe is an independent, free, open source project that is 100% community-supported by people like yourself through your contributions of time, energy, passion, promotion, and donations. To learn more about contributing to the neo-csharpcoe, click here.

CURRENT NPC V2.0 PROJECT can be found here (https://github.com/mwherman2000/neo-persistableclasses/blob/master/README.md).

PREVIOUS NPC V1.0 PROJECT can be found here (https://github.com/mwherman2000/neo-persistibleclasses/blob/master/README.md) (with the mispelled project name :-)).

What is NPC?

  • NEO Persistable Classes
  • Long name: NEO Persistable Class (NPC) Platform 2.1
  • Byline: An Efficient Entity-based Platform for enterprise application development using .NET/C#, C#.NEO and the NEO Blockchain.

What is the subset of C# supported by the NEO compiler and NEO VM?

npcc 2.1 - Autogeneration of NPC Level 0-4 Reusable Entities (Smart Classes)

NPC Platform Architecture: Development and Execution

NPC Architecture

Step-by-Step Example

  • Input NPC Model Class Project: Plain Old C# Classes

    C#.NPC Model Class Project

  • npcc Compiler Output

    npcc Compiler Output

  • Autogenerated C#.NPC NeoContract smart contract project

    A. Input Model Class Project: Plain Old C# Class(es)

    B. Autogenerated NoeContract Smart Contract Project

    C. Line Entity C#.NPC Partial Classes

    D. NeoEntityModel C#.NPC Classes

    E. Point Entity C#.NPC Partial Classes

    Autogenerated Visual Studio NeoContract smart contract project

npcc 1.0 - initial results

  • Input NPC Model Class C#.NPC Source File

    Input NPC Class

  • npcc Parser Output

    npcc Parser Output

NEO Persistable Class (NPC) 1.0: Deep Dive (NEO Community Bluepaper)

NPC Levels of Layered Persistance Supported

There are a number of different levels when it comes to applying the NPC Framework to classes in C#.NPC. There are:

  • NPC Level 0 Basic
  • NPC Level 1 Managed
  • NPC Level 2 Persistable
  • NPC Level 3 Deletable (Bury/Tombstone)
  • NPC Level 4 Collectable
  • NPC Level 5 Extendible (roadmap)
  • NPC Level 6 Authorized (roadmap)
  • NPC Level 7 Optimized (roadmap)

Who is Michael Herman?

Michael Herman (Toronto) (photo)

Independent Blockchain Developer

Michael Herman is a independent developer and writer who contributes to several NEO Blockchain projects including:

  • NEO developer tool suite (neo-lux, neo-debugger and neo-gui-developer projects)
  • mwherman2000/neo-persistableclasses project – home of the NEO Persistable Class Framework (NPC) for efficient entity-based smart contract development using C#.NEO
  • mwherman2000/dotnetquickstart project – home of the NEO Blockchain Quick Start Guide for .NET Developers.

Michael is also the founder of the NEO Blockchain C# Center of Excellence as well as the first Canadian NEO Blockchain Meetup group (NEO Blockchain Toronto). He has helped bootstrap several additional Meetups worldwide including NEO Blockchain Vancouver, NEO Blockchain Cancun, and NEO Blockchain Turkey.

Contact

Feedback

  • In just 10 days you [made] tons of progress, you're probably [one of] the fastest learners around here.

About

NEO Persistable Classes (NPC) Compiler 2.1 (npcc) - Compiler for the NEO Persistable Classes (NPC) Platform 2.1

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages