forked from blockchainsllc/piet
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 9d172b4
Showing
60 changed files
with
23,572 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
dist | ||
.DS_Store | ||
node_modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Piet | ||
A tool helping to grasp solidity smart contract architectures. | ||
|
||
|
||
## Abstract | ||
Piet is a web application providing support to understand smart contract architectures. | ||
This is approached by generating a graphical representation of such architectures and a possibility to query deployed instances of smart contracts. | ||
|
||
The graphical representation shows the inheritance structure of solidity contracts. In addition to the inheritance structure the defined enumerations and structs are shown. | ||
|
||
To provide understanding of one single solidity contract Piet offers an inspector view showing all members of the contract including the inherited ones. | ||
The presentation of the contract and the contract members is enriched by documentation labels derived from Ethereum NatSpec tags. | ||
|
||
Piet also provides an interactive mode enabling to read the state of a smart contract, sending transactions and browsing through events. This is achieved by connecting to deployed smart contracts through an injected web3 object. | ||
|
||
|
||
|
||
## Feature List | ||
- Graphical representation of smart contract architectures | ||
- Inheritance structure of contracts | ||
- Shows structs and enums | ||
- Smart contract inspector | ||
- Shows structure of a smart contract (e.g. functions, events, ...) | ||
- Shows inherited members | ||
- Convenient representation of solidity code documentation | ||
- Interactive Mode | ||
- Read state from blockchain (e.g. state variables, view functions) | ||
- Send transactions | ||
- Show events | ||
- Solidity code viewer | ||
|
||
## Usage | ||
Type `npm i` followed by `npm start` to start a local instance of Piet at [http://localhost:3001](http://localhost:3001 ) | ||
|
||
## Screenshots | ||
 | ||
### Smart contract inspector | ||
 | ||
### Events | ||
 | ||
### Events Raw | ||
 | ||
|
||
## Name | ||
The main feature of Piet is to provide a graphical representation of smart contract architectures consisting mostly of rectangles and lines on a canvas. | ||
So I decided to name this software after Piet Mondrian who seems to be a pioneer in doing this ;) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<meta charset="UTF-8" /> | ||
<title>Piet</title> | ||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> | ||
<link rel="stylesheet" href="style/joint.css" > | ||
<link rel="stylesheet" href="style/main.css" > | ||
<link rel="stylesheet" href="style/hljs-default.css" > | ||
<script defer src="javascript/fontawesome-all.min.js"></script> | ||
</head> | ||
<body> | ||
<div id="example"></div> | ||
|
||
<!-- Dependencies --> | ||
|
||
|
||
<script src="https://use.fontawesome.com/3d047eb7c0.js"></script> | ||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script> | ||
|
||
<script src="./node_modules/react/umd/react.development.js"></script> | ||
<script src="./node_modules/react-dom/umd/react-dom.development.js"></script> | ||
|
||
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> | ||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> | ||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> | ||
|
||
<!-- Main --> | ||
<script src="./dist/bundle.js"></script> | ||
<script> | ||
setTimeout( function() { | ||
$('.animation-container').css('display', 'none'); | ||
$('.non-animation-container').css('display', 'block'); | ||
}, 10500); | ||
|
||
</script> | ||
|
||
</body> | ||
</html> |
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.