neo-project / neo

NEO Smart Economy
MIT License
3.47k stars 1.03k forks source link

Unify the Neo Domain Model #1866

Open devhawk opened 4 years ago

devhawk commented 4 years ago

Objective

Improve the developer experience by having compatible source definition of common domain model types such as Block and Transaction across RpcClient, Neo node plugins and the Smart Contract Framework.

Problem

Core domain types like Block and Transaction have a different definition in the Smart Contract framework and Neo core. This makes it harder for developers to learn and use the Neo platform. It also makes it harder to move code between dApp clients and smart contracts.

Examples:

Proposals

devhawk commented 4 years ago

An example of the kind of bug that happens because we don't have a UInt160 type in the Smart Contract Framework: https://github.com/neo-project/neo-devpack-dotnet/issues/342