Reference dApp for the NEO Persistable Classes (NPC) Entity-based dApp (e-dApp) Platform 2.0
NeoDraw
is advanced proof-of-concept distributed application (dApp) for the NEO Persistable Classes (NPC) Entity-based dApp (e-dApp) Platform running on the NEO Blockchain.
As a neo-csharpcoe
compliant platform, the NPC e-dApp
platform includes a full suite of tools and libraries (code), frameworks, how-to documentation, and best practices for enterprise application e-dApp 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 |
NPC NEO-KONG (Key-Object Notation for Geeks) Specification | neo-persistableclasses |
NEO Blockchain C# Center of Excellence (neo-csharpcoe
)
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 full-stack 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.
This e-dApp was developed with the neo-csharpcoe
Neo Persistable Classes (NPC) Framework including full automatic code generation of the NEO Persistable Classes using the NPC Compiler (npcc).
add user [encodedusername, encodedpassword]
get user [encodedusername]
add point [encodedusername, x, y]
getall point [encodedusername]
delete point [encodedusername]
add point x y
help
exit
NeoDraw is a Windows desktop application that was developed and tested with Windows 10 Professional. It's fairly simply in terms of its outward construction - it should run almost anywhere except on a Mac ;-).
-
Download the NPC.dApp.NeoDraw.ClientApp.exe.zip ZIP archive file from here.
-
It will likely end up in your Downloads folder. Unzip it there (or wherever you'd like to extract the ZIP archive).
The files in this ZIP archive file are simply the contents of the bin/Debug
folder for the NeoDraw client e-dApp project located here.
-
Locate the
NPC.dApp.NeoDraw.ClientApp.exe
in the extraced collection of files. -
Double-click
NPC.dApp.NeoDraw.ClientApp.exe
to open it and start it up. -
You will be prompted for:
- Username
- Password
- Secret phrase
Use anything except single characters (I've used most of the alphabet already during testing).
*NOTE: Don't use any of your regular usernames or passwords. There's no need to. All usernames and passwords are stored in the NeoDraw User Directory as SHA256 digital signatures. It will be difficult to track anything you do in NeoDraw back to youself.
-
Once you're logged in, some scenery will be displayed: a Wall and a Hedge. This is just part of the NeoDraw app.
-
However, the "User 100" points and vectors are being replayed from the block chain. Everyone gets to see what User 100 has drawn on the shared whiteboard.
NOTE: In the future, this capability will be replaced with an "Add a Friend" command to playback the drawings created by anyone who will tell you their userid. There is no way to hack NeoDraw to find out what another person's username or passord or secret phrase is. They're hashed and except for your usename, are thrown away almost right away.
- The only command that is currently activitated is:
add x y
where0 < X < 50
and0 < Y < 40
.
Enjoy and have fun but importantly begin to imagine the impact that a platform like NPC-e-dApp
is going to have on global blockchain e-dApp development.
Best regards,
Michael Herman (Toronto)
T: (416) 524-7702
p.s. What would you like to build with NPC? I'm building this.