GithubHelp home page GithubHelp logo

mwherman2000 / neo-npcc2 Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 6.42 MB

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

License: MIT License

C# 100.00%
npc neo-blockchain npcc csharp dotnet compiler neo-blochchain neo neo-vm

neo-npcc2's Introduction

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.

neo-npcc2's People

Contributors

mwherman2000 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

neo-npcc2's Issues

TODO: Visual Studio Integration Roadmap

  1. Create a VS extension for NPC solutions: Model Classes project, Client project, Driver project, Contract project
  2. After VS integration, npcc should automatically add generated NPC C# files to the Contract project
  3. Removal post-post-build step used in the old (current) NeoContract extension.
  4. Set the npcc.exe path in the Debug section of the Model Classes project properties
  5. Set the neon.exe debug compiler path in the Build section of the Contract project properties
  6. Set the neod.exe debugger compiler path in the Debug section of the Contract project properties
  7. Find an easy(ier) way to automatically define/add the NPC Levels C# interface definitions to a Mode Classes project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.