Check out the Wiki for a detailed documentation and step-by-step tutorial to run the system locally.
In this repository you find several folders necessary to run the system.
- In the blockchain folder, you find all the necessary data to connect to the blockchain. For example, the smart contract code in the contracts folder, the JavaScript code to deploy on-chain the smart contract in the migrations folder, and finally the truffle-config.js file to connect to the blockchain via truffle.
- In the databases folder you find the sql files to build the auxiliary relational tables we use in this prototypical implementation of our system to store temporary data (yellow pages, seeds, RSA private keys, etc.).
- The input_files folder is the folder where to put the files to encrypt. You can use whatever folder you desire.
- The json_files folder contains the files that specify the roles of the actors involved in the process and the access policies. You can use whatever folder you desire.
- The output_files folder is the folder where decrypted files are saved. You can use whatever folder you desire.
- In the sh_files folder you find all the sh files to use MARTSIA. These files simplify the usage and hide several difficult steps, making MARTSIA easier for the user.
- The src folder contains the python scripts that are run through the sh files.
For more information on MARTSIA, please consult our paper entitled "MARTSIA: Enabling Data Confidentiality for Blockchain-based Process Execution" (DOI: 10.1007/978-3-031-46587-1_4; slides are available on SlideShare).
If you want a more complete version of MARTSIA, please check our paper entitled "Enabling Data Confidentiality with Public Blockchains", submitted to ACM TOIT and currently under review.
If you want to go back to the main MARTSIA GitHub page please click here.