Skip to content

mwherman2000/neo-persistableclasses

Repository files navigation

neo-persistableclasses

NEO Persistable Classes (NPC) Platform 2.0 - An Efficient Entity-based Platform for enterprise distributed application development using .NET/C#, C#.NEO and the NEO Blockchain

NEO Blockchain C# Developers 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 software platform.

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.

What is NPC?

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

What is NeoDraw and the NPC e-dApp Platform?

  • A multi-user whiteboard dApp built with the NEO Persistable Classes (NPC) Platform that runs on the NEO Blockchain.
  • An advanced proof-of-concept distributed application (dApp) for the NEO Persistable Classes (NPC) Entity-based dApp (e-dApp) Platform.

More information on NeoDraw can be found here.

As a neo-csharpcoe compliant platform, the NPC-edApp platform includes a full suite of tools and libraries (code), frameworks how-to documentation, and best practices for enterprise application development using .NET/C#, C#.NEO, and the NEO Blockchain:

Component Home Project
NPC Framework neo-persistableclasses
NPC Entity and Domain Model neo-persistableclasses
NPC Structured Storage Architecture neo-persistableclasses
NPC NeoStorageKey Specificaton neo-persistableclasses
NPC Entity Programming Model neo-npcc
NPC C#.NPC Entity Programming Language neo-npcc
NPC C#.NPC Compiler (npcc) neo-npcc
NPC Source-level Execution Cost Profiler merged into neo-debugger-tools
NPC Integrated Entity Tracing neo-npcc
NPC Smart-formatting Event Log Views merged into neo-gui-developer and neo-debugger-tools
NPC JSON Entity Deserialization merged into neo-lex

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

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

NEO Persistable Class (NPC) Platform 2.0: Deep Dive (neo-csharpcoe Community Bluepaper)

What is NPCdApp 1.0?

NPCdApp 1.0 is a C#.NEO smart contract dApp built for the CoZ dApp Competition #2 (closing date: February 24, 2018) to demonstrate NPC’s:

  • Unique object-oriented programming style for C#.NEO smart contract development
  • Layered entity persistence model

How to run NPCdApp 1.0?

Parameters

  • Script Hash: 0x7074acf3f06dd3f456e11053ebf61c5b04b07ebc (testnet)

  • public static object Main(string operation, params object[] args) (link to source)

  • win-gui parameter types: 0710

Video Tutorial

Downloads

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)

NEO City of Zion (CoZ) Developer (https://neo.org/home/team)

Michael Herman is a CoZ Developer who contributes to several NEO Blockchain projects including:

  • NEO developer tool suite (neo-debugger and neo-gui-developer projects)
  • mwherman2000/neo-persistableclasses project – home of the NEO Persistible Class Framework (NPC) for efficient object-oriented 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 first Canadian NEO Blockchain Meetup group (NEO Blockchain Toronto) and 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.

  • Great slides and videos, Michael Herman. Thanks

  • It is truly worth video, thanks and congrulations for the attention.

  • Michael, it was a pleasure to check out the slides. Congrulations, you are a good professor. I will keep reading and trying to learn with your documentation.

Notes

  • NPC Domain and Entity Model
  • NPC Structured Storage Architecture (Nested Storage Domains)
  • NPC NeoStorageKey Specificaton
  • NPC Compiler
  • NPC Object-Oriented Programming Model
  • C#.NPC Programming Language

About

NEO Persistable Classes Platform 2.0 - An Efficient Entity-based dApp (e-dApp) Platform running on the NEO Blockchain

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published