Table of Contents
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
- Clone the repo
git clone https://github.com/ryanfalzon/DLT-Dissertation
- Build the
UnifiedModel.SourceGenerator
projectcd Dissertation/src/UnifiedModel/UnifiedModel.SourceGenerator dotnet build --output "c:/UnifiedModel/SourceGenerator"
- Build the
UnifiedModel.Connectors
projectcd Dissertation/src/UnifiedModel/UnifiedModel.Connectors dotnet build --output "c:/UnifiedModel/Connectors"
- Run the
UnifiedModel.SourceGenerator.exe
executableUnifiedModel.SourceGenerator.exe "UnifiedCode.txt" "OutputDirectory"
- Once generated smart contracts are deployed, fill in the
Ethereum.json
file created in the output directory of step 3{ "PublicKey": "", "PrivateKey": "", "Contracts": [ { "Name": "", "AbiLocation": "", "Address": "" } ] }
- Copy the contents of the output directory of step 3 to the location where the desktop code will be running
This is an example of how the framework can be used to create annotated code to be compiled down to C# and Solidity code for Desktop and Etheruem enviornments.
[XOn(All)]
public class Profile : XModel("SocialNetwork")
{
...
}
[XOn(Ethereum)]
public class SocialNetwork
{
...
}
[XOn("All")]
public class SocialNetwork
{
public void Register(Profile profile)
{
@XOn("Desktop", profile)
{
...
}
~@XOn("Ethereum", profile)
{
...
}
}
}
Ryan Falzon - [email protected]
I would like to thank my supervisor Prof. Gordon Pace and co-supervisor Dr. Joshua Ellul for their continual support and guidance throughout this research study. Additionally, I would like to express my gratitude to all lecturers of the Centre of Distributed Ledger Technologies for the knowledge they imparted on throughout their lectures.