This project provides a full-stack environment for generating and analyzing Stipula legal contracts, featuring a React frontend, a Node.js backend server, and a Python analyzer.
Prerequisites To run this project, you must have the following installed on your system:
- Node.js & npm
- Python 3.x
- Java Development Kit (JDK) 19 or later (required for the Stipula Interpreter).
Getting Started Follow these steps to set up and launch the entire application stack.
Run the following command from the root directory to install all necessary packages for the entire project (Node.js/npm dependencies).
npm installRun the launch command:
npm start- Enter a name for your contract at the top.
- Add assets, fields, and parties using the corresponding input boxes and Add buttons.
- Define agreements by selecting fields and parties, then click the plus icon to add them.
- Define the initial status of the contract through the input box under the agreement panel.
- To create a function, click New Function under an agreement, fill in states, parameters, assets, and guards, then click Add Function.
- The contract code updates automatically in the output panel as you make changes.
Alternatively:
- You can load an existing
.jsoncontract from your local machine using Choose File button. - You can manually write or edit the contract code using the Edit button on the right.
You can download the project with Download All (exports both .json and .stipula) or Save Project (exports only .json).
- Click:
- Unreachability to check contract reachability.
- Unreachability (verbose) to see a detailed report.
- Results will appear in the Contract Code panel below.
- Find the Liquidity buttons above the contract code.
- Choose the maximum number of times a function (and its nested events) can appear within a single abstract computation via the input box next to the buttons.
- Click:
- Liquidity to check contract liquidity.
- Liquidity (verbose) for a detailed report.
- Results will appear in the Contract Code panel below.
- Click Run button.
- Enter the required data in the dedicated box under the Stipula Interpreter and click the Send button