Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/92181
Title: Towards seamless .NET blockchain interaction by using entity framework
Authors: Nimat, Sergiu-Ioan (2021)
Keywords: Microsoft .NET Framework
Application software -- Development
Macroprogramming
Object-oriented programming (Computer science)
SQL (Computer program language)
Blockchains (Databases)
Issue Date: 2021
Citation: Nimat, S.-I. (2021). Towards seamless .NET blockchain interaction by using entity framework (Bachelor's dissertation).
Abstract: This tool enables developers to integrate their .NET based applications with both the Nethereum Blockchain and Entity Framework SQL while hiding out the complexity of having to deal with different frameworks. This approach is widely implemented and used within IT, such as IoT (internet of things). The two most common approach to achieve that is through Macroprogramming and Aggregate programming.The main inspiration was Entity Framework. Before introducing Entity Framework, developers had to write all the complexity related to the connection to the database, query the database, and they had to write the database tables and their relations etc., manually. With the introduction of the Entity Framework, this is done automatically. Developers can develop their applications in a more robust and efficient way without even knowing how to write SQL. The tool developed within this project enables developers to interact with the Ethereum Blockchain more easily when it comes to aspects of data manipulation. Indeed, smart contracts are not the best place to store/manipulate data, however this is just a small piece in a bigger puzzle. Other work proposed focuses on how to allow for developers to write .NET code that gets translated down into smart contracts. As a result, they are only required to plug in this tool and use its functionalities. The tool developed within this project requires minimal configuration to plug it into the .NET application. Once configured, developers are enabled to use all services provided within the tool. It is essential to mention that the tool developed within this project is meant to demonstrate how .NET developers can use a package that enables them to interact with the Ethereum Blockchain and the Underlying database simultaneously. Furthermore, the package is bounded to a specific smart contract (i.e. business logic), in our case, to a property sale company. However, with this project in place, the tool can be further developed in the future such that it is dynamic so that developers can apply it to any business logic. The package itself is designed into two different levels of abstraction. Starting from the bottom up, the first level of abstraction consists of two interfaces. On the one hand, an interface that communicates to an SQL database using Entity Framework library and on the other hand, the second interface interacts with the Ethereum Blockchain by using the Nethereum library. The second layer of abstraction makes sure that the external blockchain and database are in async by using both the interfaces described in the first level of abstraction. This level of abstraction enables developers to access all the functionality required to build their own .NET applications through an easy to use interface. The demo .NET web application used to demonstrate the usage of the package enables users to purchase properties with Ether cryptocurrency from a property sale company. It also allows users to sell their properties to other users that are part of the application for an additional fee transferred to the property sale company for their service.
Description: B.Sc. IT (Hons)(Melit.)
URI: https://www.um.edu.mt/library/oar/handle/123456789/92181
Appears in Collections:Dissertations - FacICT - 2021
Dissertations - FacICTCIS - 2021

Files in This Item:
File Description SizeFormat 
21BITSD018.pdf
  Restricted Access
2.05 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.