olusegun commited on
Commit
e3b9b11
1 Parent(s): a94694a

First Commit

Browse files
Aptfile ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ libsodium-dev
2
+ libsecp256k1-dev
3
+ libgmp-dev
Contract.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import smartpy as sp
2
+
3
+ class panjikaran(sp.Contract):
4
+ def __init__(self):
5
+ self.init(
6
+ patientMap = sp.map(),
7
+ )
8
+
9
+
10
+ @sp.entry_point
11
+ def addPatientRecord(self, params):
12
+ Hid = params.Hid
13
+ self.data.patientMap[Hid] = sp.record(
14
+ name = params.name,
15
+ age = params.age,
16
+ gender = params.gender,
17
+ PhoneNumber = params.PhoneNumber,
18
+ Record = params.Record,
19
+
20
+
21
+ )
22
+
23
+ @sp.add_test(name = "ADDING PATIENT DATA")
24
+ def test():
25
+ scenario = sp.test_scenario()
26
+
27
+ user = sp.test_account("Test")
28
+
29
+ panjikaran1 = panjikaran()
30
+ scenario += panjikaran1
31
+
32
+ scenario.h1("Add New Patient")
33
+ scenario += panjikaran1.addPatientRecord(
34
+ Hid = "AdharHealth:0123456789",
35
+ name = "Yuvraj Singh Deora",
36
+ age = 20,
37
+ gender = "Male",
38
+ PhoneNumber = 6176179619,
39
+ Record = "Height -: 76 cms Blood count: 23mg"
40
+
41
+ )
42
+ # scenario.show(vaxScene.balance)
Decentralised_medical_Records.ipynb ADDED
@@ -0,0 +1,461 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "nbformat": 4,
3
+ "nbformat_minor": 0,
4
+ "metadata": {
5
+ "colab": {
6
+ "name": "Decentralised_medical_Records.ipynb",
7
+ "provenance": [],
8
+ "collapsed_sections": [],
9
+ "authorship_tag": "ABX9TyMepu9EEVA+RG5KDFQZcrKE",
10
+ "include_colab_link": true
11
+ },
12
+ "kernelspec": {
13
+ "display_name": "Python 3",
14
+ "name": "python3"
15
+ },
16
+ "language_info": {
17
+ "name": "python"
18
+ }
19
+ },
20
+ "cells": [
21
+ {
22
+ "cell_type": "markdown",
23
+ "metadata": {
24
+ "id": "view-in-github",
25
+ "colab_type": "text"
26
+ },
27
+ "source": [
28
+ "<a href=\"https://colab.research.google.com/github/YUVRAJ06singh08deora/BlockChain_Medical_Records/blob/main/Decentralised_medical_Records.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
29
+ ]
30
+ },
31
+ {
32
+ "cell_type": "code",
33
+ "metadata": {
34
+ "colab": {
35
+ "base_uri": "https://localhost:8080/"
36
+ },
37
+ "id": "JpeXeDyldLHY",
38
+ "outputId": "eb5758be-05b9-462d-ddbc-90402f809fa3"
39
+ },
40
+ "source": [
41
+ "!apt install libsodium-dev libsecp256k1-dev libgmp-dev\n",
42
+ "!pip install pytezos==3.2.6"
43
+ ],
44
+ "execution_count": 8,
45
+ "outputs": [
46
+ {
47
+ "output_type": "stream",
48
+ "name": "stdout",
49
+ "text": [
50
+ "Reading package lists... Done\n",
51
+ "Building dependency tree \n",
52
+ "Reading state information... Done\n",
53
+ "libgmp-dev is already the newest version (2:6.1.2+dfsg-2).\n",
54
+ "libsodium-dev is already the newest version (1.0.16-2).\n",
55
+ "libsecp256k1-dev is already the newest version (0.1~20170810-1).\n",
56
+ "0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.\n",
57
+ "Requirement already satisfied: pytezos==3.2.6 in /usr/local/lib/python3.7/dist-packages (3.2.6)\n",
58
+ "Requirement already satisfied: loguru in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (0.5.3)\n",
59
+ "Requirement already satisfied: cattrs<2.0.0,>=1.3.0 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (1.8.0)\n",
60
+ "Requirement already satisfied: netstruct in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (1.1.2)\n",
61
+ "Requirement already satisfied: pysodium==0.7.7 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (0.7.7)\n",
62
+ "Requirement already satisfied: strict_rfc3339==0.7 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (0.7)\n",
63
+ "Requirement already satisfied: testcontainers<4.0.0,>=3.2.0 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (3.4.2)\n",
64
+ "Requirement already satisfied: typing-extensions<4.0.0,>=3.7.4 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (3.10.0.2)\n",
65
+ "Requirement already satisfied: jupyter-client<7.0.0,>=6.1.12 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (6.1.12)\n",
66
+ "Requirement already satisfied: pendulum in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (2.1.2)\n",
67
+ "Requirement already satisfied: cached-property<2.0.0,>=1.5.2 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (1.5.2)\n",
68
+ "Requirement already satisfied: tabulate<0.9.0,>=0.8.9 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (0.8.9)\n",
69
+ "Requirement already satisfied: jsonschema<4.0.0,>=3.2.0 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (3.2.0)\n",
70
+ "Requirement already satisfied: bson<0.6.0,>=0.5.10 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (0.5.10)\n",
71
+ "Requirement already satisfied: simplejson in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (3.17.5)\n",
72
+ "Requirement already satisfied: docker<5.0.0,>=4.4.4 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (4.4.4)\n",
73
+ "Requirement already satisfied: ply in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (3.11)\n",
74
+ "Requirement already satisfied: click<9.0.0,>=8.0.1 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (8.0.3)\n",
75
+ "Requirement already satisfied: py_ecc in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (5.2.0)\n",
76
+ "Requirement already satisfied: secp256k1==0.13.2 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (0.13.2)\n",
77
+ "Requirement already satisfied: bravado<12.0.0,>=11.0.3 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (11.0.3)\n",
78
+ "Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (4.62.3)\n",
79
+ "Requirement already satisfied: deprecation in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (2.1.0)\n",
80
+ "Requirement already satisfied: cattrs-extras<0.2.0,>=0.1.1 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (0.1.1)\n",
81
+ "Requirement already satisfied: fastecdsa==1.7.5 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (1.7.5)\n",
82
+ "Requirement already satisfied: requests<3.0.0,>=2.21.0 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (2.23.0)\n",
83
+ "Requirement already satisfied: mnemonic in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (0.20)\n",
84
+ "Requirement already satisfied: pysha3==1.0.2 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (1.0.2)\n",
85
+ "Requirement already satisfied: pyyaml in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (3.13)\n",
86
+ "Requirement already satisfied: base58<2.0.0,>=1.0.3 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (1.0.3)\n",
87
+ "Requirement already satisfied: ipykernel<6.0.0,>=5.5.0 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (5.5.6)\n",
88
+ "Requirement already satisfied: notebook<7.0.0,>=6.3.0 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (6.4.5)\n",
89
+ "Requirement already satisfied: pyblake2<2.0.0,>=1.1.2 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (1.1.2)\n",
90
+ "Requirement already satisfied: attrs<21.0.0,>=20.3.0 in /usr/local/lib/python3.7/dist-packages (from pytezos==3.2.6) (20.3.0)\n",
91
+ "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from fastecdsa==1.7.5->pytezos==3.2.6) (1.15.0)\n",
92
+ "Requirement already satisfied: cffi>=1.3.0 in /usr/local/lib/python3.7/dist-packages (from secp256k1==0.13.2->pytezos==3.2.6) (1.15.0)\n",
93
+ "Requirement already satisfied: bravado-core>=5.16.1 in /usr/local/lib/python3.7/dist-packages (from bravado<12.0.0,>=11.0.3->pytezos==3.2.6) (5.17.0)\n",
94
+ "Requirement already satisfied: monotonic in /usr/local/lib/python3.7/dist-packages (from bravado<12.0.0,>=11.0.3->pytezos==3.2.6) (1.6)\n",
95
+ "Requirement already satisfied: msgpack in /usr/local/lib/python3.7/dist-packages (from bravado<12.0.0,>=11.0.3->pytezos==3.2.6) (1.0.2)\n",
96
+ "Requirement already satisfied: python-dateutil in /usr/local/lib/python3.7/dist-packages (from bravado<12.0.0,>=11.0.3->pytezos==3.2.6) (2.8.2)\n",
97
+ "Requirement already satisfied: swagger-spec-validator>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from bravado-core>=5.16.1->bravado<12.0.0,>=11.0.3->pytezos==3.2.6) (2.7.4)\n",
98
+ "Requirement already satisfied: jsonref in /usr/local/lib/python3.7/dist-packages (from bravado-core>=5.16.1->bravado<12.0.0,>=11.0.3->pytezos==3.2.6) (0.2)\n",
99
+ "Requirement already satisfied: pytz in /usr/local/lib/python3.7/dist-packages (from bravado-core>=5.16.1->bravado<12.0.0,>=11.0.3->pytezos==3.2.6) (2018.9)\n",
100
+ "Requirement already satisfied: dateutils<0.7.0,>=0.6.12 in /usr/local/lib/python3.7/dist-packages (from cattrs-extras<0.2.0,>=0.1.1->pytezos==3.2.6) (0.6.12)\n",
101
+ "Requirement already satisfied: pytimeparse<2.0.0,>=1.1.8 in /usr/local/lib/python3.7/dist-packages (from cattrs-extras<0.2.0,>=0.1.1->pytezos==3.2.6) (1.1.8)\n",
102
+ "Requirement already satisfied: typing-inspect<0.7.0,>=0.6.0 in /usr/local/lib/python3.7/dist-packages (from cattrs-extras<0.2.0,>=0.1.1->pytezos==3.2.6) (0.6.0)\n",
103
+ "Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.3.0->secp256k1==0.13.2->pytezos==3.2.6) (2.21)\n",
104
+ "Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from click<9.0.0,>=8.0.1->pytezos==3.2.6) (4.8.2)\n",
105
+ "Requirement already satisfied: websocket-client>=0.32.0 in /usr/local/lib/python3.7/dist-packages (from docker<5.0.0,>=4.4.4->pytezos==3.2.6) (1.2.1)\n",
106
+ "Requirement already satisfied: tornado>=4.2 in /usr/local/lib/python3.7/dist-packages (from ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (6.1)\n",
107
+ "Requirement already satisfied: traitlets>=4.1.0 in /usr/local/lib/python3.7/dist-packages (from ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (5.1.1)\n",
108
+ "Requirement already satisfied: ipython-genutils in /usr/local/lib/python3.7/dist-packages (from ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (0.2.0)\n",
109
+ "Requirement already satisfied: ipython>=5.0.0 in /usr/local/lib/python3.7/dist-packages (from ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (5.5.0)\n",
110
+ "Requirement already satisfied: pygments in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (2.6.1)\n",
111
+ "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (57.4.0)\n",
112
+ "Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (1.0.18)\n",
113
+ "Requirement already satisfied: decorator in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (4.4.2)\n",
114
+ "Requirement already satisfied: pickleshare in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (0.7.5)\n",
115
+ "Requirement already satisfied: simplegeneric>0.8 in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (0.8.1)\n",
116
+ "Requirement already satisfied: pexpect in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (4.8.0)\n",
117
+ "Requirement already satisfied: pyrsistent>=0.14.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema<4.0.0,>=3.2.0->pytezos==3.2.6) (0.18.0)\n",
118
+ "Requirement already satisfied: webcolors in /usr/local/lib/python3.7/dist-packages (from jsonschema<4.0.0,>=3.2.0->pytezos==3.2.6) (1.11.1)\n",
119
+ "Requirement already satisfied: jsonpointer>1.13 in /usr/local/lib/python3.7/dist-packages (from jsonschema<4.0.0,>=3.2.0->pytezos==3.2.6) (2.2)\n",
120
+ "Requirement already satisfied: rfc3987 in /usr/local/lib/python3.7/dist-packages (from jsonschema<4.0.0,>=3.2.0->pytezos==3.2.6) (1.3.8)\n",
121
+ "Requirement already satisfied: idna in /usr/local/lib/python3.7/dist-packages (from jsonschema<4.0.0,>=3.2.0->pytezos==3.2.6) (2.10)\n",
122
+ "Requirement already satisfied: pyzmq>=13 in /usr/local/lib/python3.7/dist-packages (from jupyter-client<7.0.0,>=6.1.12->pytezos==3.2.6) (22.3.0)\n",
123
+ "Requirement already satisfied: jupyter-core>=4.6.0 in /usr/local/lib/python3.7/dist-packages (from jupyter-client<7.0.0,>=6.1.12->pytezos==3.2.6) (4.9.1)\n",
124
+ "Requirement already satisfied: Send2Trash>=1.5.0 in /usr/local/lib/python3.7/dist-packages (from notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (1.8.0)\n",
125
+ "Requirement already satisfied: jinja2 in /usr/local/lib/python3.7/dist-packages (from notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (2.11.3)\n",
126
+ "Requirement already satisfied: nbformat in /usr/local/lib/python3.7/dist-packages (from notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (5.1.3)\n",
127
+ "Requirement already satisfied: nbconvert in /usr/local/lib/python3.7/dist-packages (from notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (5.6.1)\n",
128
+ "Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.7/dist-packages (from notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (21.1.0)\n",
129
+ "Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.7/dist-packages (from notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (0.12.1)\n",
130
+ "Requirement already satisfied: prometheus-client in /usr/local/lib/python3.7/dist-packages (from notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (0.12.0)\n",
131
+ "Requirement already satisfied: wcwidth in /usr/local/lib/python3.7/dist-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=5.0.0->ipykernel<6.0.0,>=5.5.0->pytezos==3.2.6) (0.2.5)\n",
132
+ "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.21.0->pytezos==3.2.6) (3.0.4)\n",
133
+ "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.21.0->pytezos==3.2.6) (1.24.3)\n",
134
+ "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.21.0->pytezos==3.2.6) (2021.10.8)\n",
135
+ "Requirement already satisfied: ptyprocess in /usr/local/lib/python3.7/dist-packages (from terminado>=0.8.3->notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (0.7.0)\n",
136
+ "Requirement already satisfied: wrapt in /usr/local/lib/python3.7/dist-packages (from testcontainers<4.0.0,>=3.2.0->pytezos==3.2.6) (1.13.3)\n",
137
+ "Requirement already satisfied: mypy-extensions>=0.3.0 in /usr/local/lib/python3.7/dist-packages (from typing-inspect<0.7.0,>=0.6.0->cattrs-extras<0.2.0,>=0.1.1->pytezos==3.2.6) (0.4.3)\n",
138
+ "Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from deprecation->pytezos==3.2.6) (21.2)\n",
139
+ "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->click<9.0.0,>=8.0.1->pytezos==3.2.6) (3.6.0)\n",
140
+ "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from jinja2->notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (2.0.1)\n",
141
+ "Requirement already satisfied: testpath in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (0.5.0)\n",
142
+ "Requirement already satisfied: entrypoints>=0.2.2 in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (0.3)\n",
143
+ "Requirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (0.8.4)\n",
144
+ "Requirement already satisfied: defusedxml in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (0.7.1)\n",
145
+ "Requirement already satisfied: bleach in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (4.1.0)\n",
146
+ "Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (1.5.0)\n",
147
+ "Requirement already satisfied: webencodings in /usr/local/lib/python3.7/dist-packages (from bleach->nbconvert->notebook<7.0.0,>=6.3.0->pytezos==3.2.6) (0.5.1)\n",
148
+ "Requirement already satisfied: pyparsing<3,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging->deprecation->pytezos==3.2.6) (2.4.7)\n",
149
+ "Requirement already satisfied: pytzdata>=2020.1 in /usr/local/lib/python3.7/dist-packages (from pendulum->pytezos==3.2.6) (2020.1)\n",
150
+ "Requirement already satisfied: eth-typing<3.0.0,>=2.1.0 in /usr/local/lib/python3.7/dist-packages (from py_ecc->pytezos==3.2.6) (2.2.2)\n",
151
+ "Requirement already satisfied: eth-utils<2,>=1.3.0 in /usr/local/lib/python3.7/dist-packages (from py_ecc->pytezos==3.2.6) (1.10.0)\n",
152
+ "Requirement already satisfied: cytoolz<1.0.0,>=0.10.1 in /usr/local/lib/python3.7/dist-packages (from eth-utils<2,>=1.3.0->py_ecc->pytezos==3.2.6) (0.11.2)\n",
153
+ "Requirement already satisfied: eth-hash<0.4.0,>=0.3.1 in /usr/local/lib/python3.7/dist-packages (from eth-utils<2,>=1.3.0->py_ecc->pytezos==3.2.6) (0.3.2)\n",
154
+ "Requirement already satisfied: toolz>=0.8.0 in /usr/local/lib/python3.7/dist-packages (from cytoolz<1.0.0,>=0.10.1->eth-utils<2,>=1.3.0->py_ecc->pytezos==3.2.6) (0.11.2)\n"
155
+ ]
156
+ }
157
+ ]
158
+ },
159
+ {
160
+ "cell_type": "code",
161
+ "metadata": {
162
+ "colab": {
163
+ "base_uri": "https://localhost:8080/"
164
+ },
165
+ "id": "sN9l3-9Hd_QF",
166
+ "outputId": "a2a3ab9b-8dc0-4b0c-e220-9111eb50fcd3"
167
+ },
168
+ "source": [
169
+ "from pytezos import pytezos\n",
170
+ "# import streamlit as st\n",
171
+ "\n",
172
+ "\n",
173
+ "pytezos = pytezos.using(shell = 'https://granadanet.smartpy.io', key='edskRn4MXH7DD9M9QiAKhKRNLCp4LU11iqEcNp6vSqNWB8qksLZckKgQZozdVuX4wum61fNwaesWjgtydm8f3h6NYggFAtPx4f')\n",
174
+ "contract = pytezos.contract('KT1RNQMAx4WcKXqAXHyLcKa8CvGFEfvc8E42')\n",
175
+ "contract"
176
+ ],
177
+ "execution_count": 9,
178
+ "outputs": [
179
+ {
180
+ "output_type": "execute_result",
181
+ "data": {
182
+ "text/plain": [
183
+ "<pytezos.jupyter.ContractInterface object at 0x7fabac6a57d0>\n",
184
+ "\n",
185
+ "Properties\n",
186
+ ".key\t\ttz1i3YgHNvYm2fUeqssg8rnPD3Z7fQCaCbJm\n",
187
+ ".shell\t\t['https://granadanet.smartpy.io']\n",
188
+ ".address\tKT1RNQMAx4WcKXqAXHyLcKa8CvGFEfvc8E42\n",
189
+ ".block_id\thead\n",
190
+ ".storage\t# access storage data at block `block_id`\n",
191
+ ".parameter\t# root entrypoint\n",
192
+ "\n",
193
+ "Entrypoints\n",
194
+ ".addPatientRecord()\n",
195
+ "\n",
196
+ "Helpers\n",
197
+ ".big_map_get()\n",
198
+ ".create_from()\n",
199
+ ".from_context()\n",
200
+ ".from_file()\n",
201
+ ".from_micheline()\n",
202
+ ".from_michelson()\n",
203
+ ".from_url()\n",
204
+ ".metadata()\n",
205
+ ".metadata_url()\n",
206
+ ".operation_result()\n",
207
+ ".originate()\n",
208
+ ".program()\n",
209
+ ".script()\n",
210
+ ".storage_from_file()\n",
211
+ ".storage_from_micheline()\n",
212
+ ".storage_from_michelson()\n",
213
+ ".to_file()\n",
214
+ ".to_micheline()\n",
215
+ ".to_michelson()\n",
216
+ ".using()"
217
+ ]
218
+ },
219
+ "metadata": {},
220
+ "execution_count": 9
221
+ }
222
+ ]
223
+ },
224
+ {
225
+ "cell_type": "code",
226
+ "metadata": {
227
+ "colab": {
228
+ "base_uri": "https://localhost:8080/"
229
+ },
230
+ "id": "Aum9DisV3UXy",
231
+ "outputId": "b83502a3-fd25-451a-c4d0-faec9b8ac01f"
232
+ },
233
+ "source": [
234
+ "usds = pytezos.using(shell = 'https://granadanet.smartpy.io').contract('KT1RNQMAx4WcKXqAXHyLcKa8CvGFEfvc8E42')\n",
235
+ "usds"
236
+ ],
237
+ "execution_count": 12,
238
+ "outputs": [
239
+ {
240
+ "output_type": "execute_result",
241
+ "data": {
242
+ "text/plain": [
243
+ "<pytezos.jupyter.ContractInterface object at 0x7fabaf480e10>\n",
244
+ "\n",
245
+ "Properties\n",
246
+ ".key\t\ttz1i3YgHNvYm2fUeqssg8rnPD3Z7fQCaCbJm\n",
247
+ ".shell\t\t['https://granadanet.smartpy.io']\n",
248
+ ".address\tKT1RNQMAx4WcKXqAXHyLcKa8CvGFEfvc8E42\n",
249
+ ".block_id\thead\n",
250
+ ".storage\t# access storage data at block `block_id`\n",
251
+ ".parameter\t# root entrypoint\n",
252
+ "\n",
253
+ "Entrypoints\n",
254
+ ".addPatientRecord()\n",
255
+ "\n",
256
+ "Helpers\n",
257
+ ".big_map_get()\n",
258
+ ".create_from()\n",
259
+ ".from_context()\n",
260
+ ".from_file()\n",
261
+ ".from_micheline()\n",
262
+ ".from_michelson()\n",
263
+ ".from_url()\n",
264
+ ".metadata()\n",
265
+ ".metadata_url()\n",
266
+ ".operation_result()\n",
267
+ ".originate()\n",
268
+ ".program()\n",
269
+ ".script()\n",
270
+ ".storage_from_file()\n",
271
+ ".storage_from_micheline()\n",
272
+ ".storage_from_michelson()\n",
273
+ ".to_file()\n",
274
+ ".to_micheline()\n",
275
+ ".to_michelson()\n",
276
+ ".using()"
277
+ ]
278
+ },
279
+ "metadata": {},
280
+ "execution_count": 12
281
+ }
282
+ ]
283
+ },
284
+ {
285
+ "cell_type": "code",
286
+ "metadata": {
287
+ "id": "lqqB0zQ432B-"
288
+ },
289
+ "source": [
290
+ "usds.using(block_id='head~1').storage()"
291
+ ],
292
+ "execution_count": null,
293
+ "outputs": []
294
+ },
295
+ {
296
+ "cell_type": "code",
297
+ "metadata": {
298
+ "id": "yuSUZihO5dVo"
299
+ },
300
+ "source": [
301
+ "usds.storage['87238989191']\n"
302
+ ],
303
+ "execution_count": null,
304
+ "outputs": []
305
+ },
306
+ {
307
+ "cell_type": "code",
308
+ "metadata": {
309
+ "id": "rzF4wYZ65zsa"
310
+ },
311
+ "source": [
312
+ "usds.storage['87238989191']['Record']()"
313
+ ],
314
+ "execution_count": null,
315
+ "outputs": []
316
+ },
317
+ {
318
+ "cell_type": "code",
319
+ "metadata": {
320
+ "id": "8qXS882zeREK"
321
+ },
322
+ "source": [
323
+ "contract"
324
+ ],
325
+ "execution_count": null,
326
+ "outputs": []
327
+ },
328
+ {
329
+ "cell_type": "code",
330
+ "metadata": {
331
+ "id": "XfmiYhSQkSpM",
332
+ "colab": {
333
+ "base_uri": "https://localhost:8080/"
334
+ },
335
+ "outputId": "48ecd186-efe3-4584-8800-c1ab76652fce"
336
+ },
337
+ "source": [
338
+ "!pip install colab-everything streamlit"
339
+ ],
340
+ "execution_count": 1,
341
+ "outputs": [
342
+ {
343
+ "output_type": "stream",
344
+ "name": "stdout",
345
+ "text": [
346
+ "Requirement already satisfied: colab-everything in /usr/local/lib/python3.7/dist-packages (0.0.9)\n",
347
+ "Requirement already satisfied: streamlit in /usr/local/lib/python3.7/dist-packages (1.2.0)\n",
348
+ "Requirement already satisfied: urllib3==1.25.10 in /usr/local/lib/python3.7/dist-packages (from colab-everything) (1.25.10)\n",
349
+ "Requirement already satisfied: pyngrok in /usr/local/lib/python3.7/dist-packages (from colab-everything) (5.1.0)\n",
350
+ "Requirement already satisfied: attrs in /usr/local/lib/python3.7/dist-packages (from streamlit) (20.3.0)\n",
351
+ "Requirement already satisfied: altair>=3.2.0 in /usr/local/lib/python3.7/dist-packages (from streamlit) (4.1.0)\n",
352
+ "Requirement already satisfied: click<8.0,>=7.0 in /usr/local/lib/python3.7/dist-packages (from streamlit) (7.1.2)\n",
353
+ "Requirement already satisfied: watchdog in /usr/local/lib/python3.7/dist-packages (from streamlit) (2.1.6)\n",
354
+ "Requirement already satisfied: gitpython!=3.1.19 in /usr/local/lib/python3.7/dist-packages (from streamlit) (3.1.24)\n",
355
+ "Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from streamlit) (2.23.0)\n",
356
+ "Requirement already satisfied: python-dateutil in /usr/local/lib/python3.7/dist-packages (from streamlit) (2.8.2)\n",
357
+ "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.7/dist-packages (from streamlit) (7.1.2)\n",
358
+ "Requirement already satisfied: base58 in /usr/local/lib/python3.7/dist-packages (from streamlit) (1.0.3)\n",
359
+ "Requirement already satisfied: validators in /usr/local/lib/python3.7/dist-packages (from streamlit) (0.18.2)\n",
360
+ "Requirement already satisfied: astor in /usr/local/lib/python3.7/dist-packages (from streamlit) (0.8.1)\n",
361
+ "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from streamlit) (1.19.5)\n",
362
+ "Requirement already satisfied: pympler>=0.9 in /usr/local/lib/python3.7/dist-packages (from streamlit) (0.9)\n",
363
+ "Requirement already satisfied: pandas>=0.21.0 in /usr/local/lib/python3.7/dist-packages (from streamlit) (1.1.5)\n",
364
+ "Requirement already satisfied: toml in /usr/local/lib/python3.7/dist-packages (from streamlit) (0.10.2)\n",
365
+ "Requirement already satisfied: cachetools>=4.0 in /usr/local/lib/python3.7/dist-packages (from streamlit) (4.2.4)\n",
366
+ "Requirement already satisfied: tzlocal in /usr/local/lib/python3.7/dist-packages (from streamlit) (1.5.1)\n",
367
+ "Requirement already satisfied: protobuf!=3.11,>=3.6.0 in /usr/local/lib/python3.7/dist-packages (from streamlit) (3.17.3)\n",
368
+ "Requirement already satisfied: pydeck>=0.1.dev5 in /usr/local/lib/python3.7/dist-packages (from streamlit) (0.7.1)\n",
369
+ "Requirement already satisfied: blinker in /usr/local/lib/python3.7/dist-packages (from streamlit) (1.4)\n",
370
+ "Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from streamlit) (21.2)\n",
371
+ "Requirement already satisfied: pyarrow in /usr/local/lib/python3.7/dist-packages (from streamlit) (3.0.0)\n",
372
+ "Requirement already satisfied: tornado>=5.0 in /usr/local/lib/python3.7/dist-packages (from streamlit) (6.1)\n",
373
+ "Requirement already satisfied: jsonschema in /usr/local/lib/python3.7/dist-packages (from altair>=3.2.0->streamlit) (3.2.0)\n",
374
+ "Requirement already satisfied: jinja2 in /usr/local/lib/python3.7/dist-packages (from altair>=3.2.0->streamlit) (2.11.3)\n",
375
+ "Requirement already satisfied: entrypoints in /usr/local/lib/python3.7/dist-packages (from altair>=3.2.0->streamlit) (0.3)\n",
376
+ "Requirement already satisfied: toolz in /usr/local/lib/python3.7/dist-packages (from altair>=3.2.0->streamlit) (0.11.2)\n",
377
+ "Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.7/dist-packages (from gitpython!=3.1.19->streamlit) (4.0.9)\n",
378
+ "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.7/dist-packages (from gitpython!=3.1.19->streamlit) (3.10.0.2)\n",
379
+ "Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.7/dist-packages (from gitdb<5,>=4.0.1->gitpython!=3.1.19->streamlit) (5.0.0)\n",
380
+ "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas>=0.21.0->streamlit) (2018.9)\n",
381
+ "Requirement already satisfied: six>=1.9 in /usr/local/lib/python3.7/dist-packages (from protobuf!=3.11,>=3.6.0->streamlit) (1.15.0)\n",
382
+ "Requirement already satisfied: ipykernel>=5.1.2 in /usr/local/lib/python3.7/dist-packages (from pydeck>=0.1.dev5->streamlit) (5.5.6)\n",
383
+ "Requirement already satisfied: ipywidgets>=7.0.0 in /usr/local/lib/python3.7/dist-packages (from pydeck>=0.1.dev5->streamlit) (7.6.5)\n",
384
+ "Requirement already satisfied: traitlets>=4.3.2 in /usr/local/lib/python3.7/dist-packages (from pydeck>=0.1.dev5->streamlit) (5.1.1)\n",
385
+ "Requirement already satisfied: ipython-genutils in /usr/local/lib/python3.7/dist-packages (from ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (0.2.0)\n",
386
+ "Requirement already satisfied: ipython>=5.0.0 in /usr/local/lib/python3.7/dist-packages (from ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (5.5.0)\n",
387
+ "Requirement already satisfied: jupyter-client in /usr/local/lib/python3.7/dist-packages (from ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (6.1.12)\n",
388
+ "Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (1.0.18)\n",
389
+ "Requirement already satisfied: simplegeneric>0.8 in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (0.8.1)\n",
390
+ "Requirement already satisfied: decorator in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (4.4.2)\n",
391
+ "Requirement already satisfied: pickleshare in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (0.7.5)\n",
392
+ "Requirement already satisfied: pexpect in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (4.8.0)\n",
393
+ "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (57.4.0)\n",
394
+ "Requirement already satisfied: pygments in /usr/local/lib/python3.7/dist-packages (from ipython>=5.0.0->ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (2.6.1)\n",
395
+ "Requirement already satisfied: widgetsnbextension~=3.5.0 in /usr/local/lib/python3.7/dist-packages (from ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (3.5.2)\n",
396
+ "Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /usr/local/lib/python3.7/dist-packages (from ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (1.0.2)\n",
397
+ "Requirement already satisfied: nbformat>=4.2.0 in /usr/local/lib/python3.7/dist-packages (from ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (5.1.3)\n",
398
+ "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from jinja2->altair>=3.2.0->streamlit) (2.0.1)\n",
399
+ "Requirement already satisfied: jupyter-core in /usr/local/lib/python3.7/dist-packages (from nbformat>=4.2.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (4.9.1)\n",
400
+ "Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from jsonschema->altair>=3.2.0->streamlit) (4.8.2)\n",
401
+ "Requirement already satisfied: pyrsistent>=0.14.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema->altair>=3.2.0->streamlit) (0.18.0)\n",
402
+ "Requirement already satisfied: wcwidth in /usr/local/lib/python3.7/dist-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=5.0.0->ipykernel>=5.1.2->pydeck>=0.1.dev5->streamlit) (0.2.5)\n",
403
+ "Requirement already satisfied: notebook>=4.4.1 in /usr/local/lib/python3.7/dist-packages (from widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (6.4.5)\n",
404
+ "Requirement already satisfied: Send2Trash>=1.5.0 in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (1.8.0)\n",
405
+ "Requirement already satisfied: nbconvert in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (5.6.1)\n",
406
+ "Requirement already satisfied: pyzmq>=17 in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (22.3.0)\n",
407
+ "Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (21.1.0)\n",
408
+ "Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (0.12.1)\n",
409
+ "Requirement already satisfied: prometheus-client in /usr/local/lib/python3.7/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (0.12.0)\n",
410
+ "Requirement already satisfied: ptyprocess in /usr/local/lib/python3.7/dist-packages (from terminado>=0.8.3->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (0.7.0)\n",
411
+ "Requirement already satisfied: cffi>=1.0.0 in /usr/local/lib/python3.7/dist-packages (from argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (1.15.0)\n",
412
+ "Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.0.0->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (2.21)\n",
413
+ "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->jsonschema->altair>=3.2.0->streamlit) (3.6.0)\n",
414
+ "Requirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (0.8.4)\n",
415
+ "Requirement already satisfied: testpath in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (0.5.0)\n",
416
+ "Requirement already satisfied: bleach in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (4.1.0)\n",
417
+ "Requirement already satisfied: defusedxml in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (0.7.1)\n",
418
+ "Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (1.5.0)\n",
419
+ "Requirement already satisfied: webencodings in /usr/local/lib/python3.7/dist-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.0.0->pydeck>=0.1.dev5->streamlit) (0.5.1)\n",
420
+ "Requirement already satisfied: pyparsing<3,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging->streamlit) (2.4.7)\n",
421
+ "Requirement already satisfied: PyYAML in /usr/local/lib/python3.7/dist-packages (from pyngrok->colab-everything) (3.13)\n",
422
+ "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->streamlit) (3.0.4)\n",
423
+ "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->streamlit) (2.10)\n",
424
+ "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->streamlit) (2021.10.8)\n"
425
+ ]
426
+ }
427
+ ]
428
+ },
429
+ {
430
+ "cell_type": "code",
431
+ "metadata": {
432
+ "id": "wJMNxzptki1L",
433
+ "colab": {
434
+ "base_uri": "https://localhost:8080/"
435
+ },
436
+ "outputId": "fe0d1ede-e481-4fa3-ea36-28a3c858d631"
437
+ },
438
+ "source": [
439
+ "from colab_everything import ColabStreamlit\n",
440
+ "\n",
441
+ "ColabStreamlit('/content/app.py') # streamlit app path"
442
+ ],
443
+ "execution_count": null,
444
+ "outputs": [
445
+ {
446
+ "output_type": "stream",
447
+ "name": "stdout",
448
+ "text": [
449
+ "Web App can be accessed on: http://6302-35-222-78-110.ngrok.io\n",
450
+ "\n",
451
+ " You can now view your Streamlit app in your browser.\n",
452
+ "\n",
453
+ " Network URL: http://172.28.0.2:9999\n",
454
+ " External URL: http://35.222.78.110:9999\n",
455
+ "\n"
456
+ ]
457
+ }
458
+ ]
459
+ }
460
+ ]
461
+ }
Procfile ADDED
@@ -0,0 +1 @@
 
 
1
+ web: sh setup.sh && streamlit run app.py
app.py ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from pytezos import pytezos
3
+ import pandas as pd
4
+
5
+ pytezos = pytezos.using(shell = 'https://rpc.tzkt.io/ghostnet', key='edsk3MrRkoidY2SjEgufvi44orvyjxgZoy4LhaJNTNcddWykW6SssL')
6
+ contract = pytezos.contract('KT1KvCVKiZhkPG8s9CCoxW3r135phk2HhZUV')
7
+
8
+ def welcome():
9
+ return "Welcome To Decentralised Medical Records"
10
+
11
+ def addUser():
12
+ name = st.text_input("Enter Full Name of the Patient")
13
+ email = st.text_input("Enter Email of the Patient")
14
+ number = st.number_input("Enter the Contact Number", step=1, min_value=1)
15
+ age = st.number_input("Enter Age", step=1, min_value=18)
16
+ gender = st.radio("Enter Gender", ('Male', 'Female'))
17
+ #Hid = st.text_input("Enter your Unique aadhar Id")
18
+ #hospital=st.text_input("Enter the Hospital details")
19
+
20
+
21
+ if st.button("Register Patient"):
22
+ a = pytezos.using(shell = 'https://rpc.tzkt.io/ghostnet', key='edsk3MrRkoidY2SjEgufvi44orvyjxgZoy4LhaJNTNcddWykW6SssL')
23
+ contract = a.contract('KT1KvCVKiZhkPG8s9CCoxW3r135phk2HhZUV')
24
+
25
+ contract.addUser(email = email, name = name, age = age, gender = gender, number = number).with_amount(0).as_transaction().fill().sign().inject()
26
+
27
+
28
+ def ViewPatientRecord():
29
+ Hid = st.text_input("Enter Unique aadhar Id of Patient")
30
+ if st.button("View Records"):
31
+ usds = pytezos.using(shell = 'https://rpc.tzkt.io/ghostnet').contract('KT1KvCVKiZhkPG8s9CCoxW3r135phk2HhZUV')
32
+ #print (usds.storage())#debug
33
+ #print(list(usds.storage().keys())[0])
34
+
35
+ #if email is in storage... print record
36
+ if Hid in list(usds.storage().keys()):
37
+ st.text(usds.storage())
38
+ #print(usds.storage())
39
+ #st.text(list(usds.storage().keys())[0])
40
+ #st.text(list(usds.storage().values()))
41
+ else:
42
+ st.text('Not Found')
43
+ #st.text(usds.storage[email]['Record']())
44
+
45
+
46
+ ####################WIDGETS START ##################################
47
+
48
+ def filters_widgets(df, columns=None, allow_single_value_widgets=False):
49
+ # Parse the df and get filter widgets based for provided columns
50
+ if not columns: #if columns not provided, use all columns to create widgets
51
+ columns=df.columns.tolist()
52
+ if allow_single_value_widgets:
53
+ threshold=0
54
+ else:
55
+ threshold=1
56
+ widget_dict = {}
57
+ filter_widgets = st.container()
58
+ filter_widgets.warning(
59
+ "After selecting filters press the 'Apply Filters' button at the bottom.")
60
+ if not allow_single_value_widgets:
61
+ filter_widgets.markdown("Only showing columns that contain more than 1 unique value.")
62
+ with filter_widgets.form(key="data_filters"):
63
+ not_showing = []
64
+ for y in df[columns]:
65
+ if str(y) in st.session_state: #update value from session state if exists
66
+ selected_opts = st.session_state[str(y)]
67
+ else: #if doesnt exist use all values as defaults
68
+ selected_opts = df[y].unique().tolist()
69
+ if len(df[y].unique().tolist()) > threshold: #checks if above threshold
70
+ widget_dict[y] = st.multiselect(
71
+ label=str(y),
72
+ options=df[y].unique().tolist(),
73
+ default=selected_opts,
74
+ key=str(y),
75
+ )
76
+ else:#if doesnt pass threshold
77
+ not_showing.append(y)
78
+ if not_showing:#if the list is not empty, show this warning
79
+ st.warning(
80
+ f"Not showing filters for {' '.join(not_showing)} since they only contain one unique value."
81
+ )
82
+ submit_button = st.form_submit_button("Apply Filters")
83
+ #reset button to return all unselected values back
84
+ reset_button = filter_widgets.button(
85
+ "Reset All Filters",
86
+ key="reset_buttons",
87
+ on_click=reset_filter_widgets_to_default,
88
+ args=(df, columns),
89
+ )
90
+ filter_widgets.warning(
91
+ "Dont forget to apply filters by pressing 'Apply Filters' at the bottom."
92
+ )
93
+
94
+ def reset_filter_widgets_to_default(df, columns):
95
+ for y in df[columns]:
96
+ if str(y) in st.session_state:
97
+ del st.session_state[y]
98
+
99
+ ####################WIDGETS END##################################
100
+
101
+ def main():
102
+
103
+ st.set_page_config(page_title="Decentralised Health Vaccine Records")
104
+
105
+ st.title("Blockchain Based Medical Records")
106
+ st.markdown(
107
+ """<div style="background-color:#e1f0fa;padding:10px">
108
+ <h1 style='text-align: center; color: #304189;font-family:Helvetica'><strong>
109
+ Vaccine Data </strong></h1></div><br>""",
110
+ unsafe_allow_html=True,
111
+ )
112
+
113
+
114
+ st.markdown(
115
+ """<p style='text-align: center;font-family:Helvetica;'>
116
+ This project greatly decreases any chances of misuse or the manipulation of the medical Records</p>""",
117
+ unsafe_allow_html=True,
118
+ )
119
+
120
+ st.markdown(
121
+ """<h3 style='text-align: center; color: white; font-family:'Lato';font-family:Helvetica;'>
122
+ The proposed solution is going to help our nation in decreasing the crime related to the data manipulation in Medical records Vaccination for there own benefits. #VaxForAll.
123
+ </h3>""",
124
+ unsafe_allow_html=True,
125
+ )
126
+
127
+ st.sidebar.title("Choose your entry point")
128
+ st.sidebar.markdown("Select the entry point accordingly:")
129
+
130
+ algo = st.sidebar.selectbox(
131
+ "Select the Option", options=[
132
+ "Register Patient",
133
+ "View Patient Data"
134
+ ]
135
+ )
136
+
137
+ if algo == "Register Patient":
138
+ addUser()
139
+ if algo == "View Patient Data":
140
+ ViewPatientRecord()
141
+
142
+
143
+ st.write ('\n')
144
+ st.write ('\n')
145
+ st.write ('\n')
146
+
147
+
148
+ #ledger start
149
+ #get ledger data
150
+
151
+ st.subheader("Blockchain Ledger")
152
+ st.write("Click to explore Blockchain ledger [link](https://ghostnet.tzkt.io/KT1KvCVKiZhkPG8s9CCoxW3r135phk2HhZUV/operations/)")
153
+
154
+
155
+ ledger_data = pytezos.using(shell = 'https://rpc.tzkt.io/ghostnet').contract('KT1KvCVKiZhkPG8s9CCoxW3r135phk2HhZUV').storage() #.values()
156
+
157
+ for x in ledger_data:
158
+ ledger = ledger_data.values()
159
+
160
+ try:
161
+ df = pd.DataFrame(ledger, index=[0])
162
+ #filters_widgets(df)
163
+ except:
164
+ df = pd.DataFrame(ledger)#, index=[0])
165
+ #filters_widgets(df)
166
+ # Display the dataframe as a table
167
+ st.write(df)
168
+
169
+
170
+ ############end table/ledger
171
+
172
+ if __name__ == "__main__":
173
+ main()
174
+
175
+
176
+ #comments
177
+ #ledger = {'age': 18, 'gender': 'Female', 'hospital': '', 'name': 'tesuser1', 'number': 41414, 'v1': False, 'v1Date': 0, 'v2': False, 'v2Date': 0}
178
+
179
+ # data = [
180
+ # {"Name": "Alice", "Age": 25, "City": "New York"},
181
+ # {"Name": "Bob", "Age": 30, "City": "Paris"},
182
+ # {"Name": "Charlie", "Age": 35, "City": "London"}
183
+ # ]
debugG.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+
3
+ json_data = {'test1@email.com': {'age': 18, 'gender': 'Female', 'hospital': '', 'name': 'tesuser1', 'number': 41414, 'v1': False, 'v1Date': 0,'v2': False, 'v2Date': 0}}
4
+
5
+ # Extract email address from dictionary key
6
+ email = next(iter(json_data))
7
+ email_address = re.match(r"[^@]+@[^@]+\.[^@]+", email).group(0)
8
+
9
+ #print(email_address)
10
+ #print (json_data.keys())
11
+
12
+ print(list(json_data.keys())[0])
req2.txt ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ altair==4.2.2
2
+ anyio==3.6.2
3
+ argon2-cffi==21.3.0
4
+ argon2-cffi-bindings==21.2.0
5
+ asttokens==2.2.1
6
+ attrs==21.4.0
7
+ backcall==0.2.0
8
+ backports.zoneinfo==0.2.1
9
+ base58==2.1.1
10
+ beautifulsoup4==4.12.0
11
+ bleach==6.0.0
12
+ blinker==1.5
13
+ cached-property==1.5.2
14
+ cachetools==5.3.0
15
+ cattrs==22.2.0
16
+ certifi==2022.12.7
17
+ cffi==1.15.1
18
+ charset-normalizer==3.1.0
19
+ click==8.1.3
20
+ comm==0.1.3
21
+ cryptography==39.0.2
22
+ cytoolz==0.12.1
23
+ debugpy==1.6.6
24
+ decorator==5.1.1
25
+ defusedxml==0.7.1
26
+ deprecation==2.1.0
27
+ docker==6.0.1
28
+ entrypoints==0.4
29
+ eth-hash==0.5.1
30
+ eth-typing==3.3.0
31
+ eth-utils==2.1.0
32
+ exceptiongroup==1.1.1
33
+ executing==1.2.0
34
+ fastecdsa==2.3.0
35
+ fastjsonschema==2.16.3
36
+ gitdb==4.0.10
37
+ GitPython==3.1.31
38
+ idna==3.4
39
+ importlib-metadata==6.1.0
40
+ importlib-resources==5.12.0
41
+ ipykernel==6.22.0
42
+ ipython==8.11.0
43
+ ipython-genutils==0.2.0
44
+ jedi==0.18.2
45
+ Jinja2==3.1.2
46
+ jsonschema==4.17.3
47
+ jupyter-client==8.1.0
48
+ jupyter-core==5.3.0
49
+ jupyter-events==0.6.3
50
+ jupyter-server==2.5.0
51
+ jupyter-server-terminals==0.4.4
52
+ jupyterlab-pygments==0.2.2
53
+ markdown-it-py==2.2.0
54
+ MarkupSafe==2.1.2
55
+ matplotlib-inline==0.1.6
56
+ mdurl==0.1.2
57
+ mistune==2.0.5
58
+ mnemonic==0.20
59
+ mypy-extensions==1.0.0
60
+ nbclassic==0.5.3
61
+ nbclient==0.7.2
62
+ nbconvert==7.2.10
63
+ nbformat==5.8.0
64
+ nest-asyncio==1.5.6
65
+ netstruct==1.1.2
66
+ notebook==6.5.3
67
+ notebook-shim==0.2.2
68
+ numpy==1.24.2
69
+ packaging==23.0
70
+ pandas==1.5.3
71
+ pandocfilters==1.5.0
72
+ parso==0.8.3
73
+ pexpect==4.8.0
74
+ pickleshare==0.7.5
75
+ Pillow==9.4.0
76
+ pkgutil-resolve-name==1.3.10
77
+ platformdirs==3.2.0
78
+ ply==3.11
79
+ prometheus-client==0.16.0
80
+ prompt-toolkit==3.0.38
81
+ protobuf==3.20.3
82
+ psutil==5.9.4
83
+ ptyprocess==0.7.0
84
+ pure-eval==0.2.2
85
+ py-ecc==6.0.0
86
+ pyarrow==11.0.0
87
+ pycparser==2.21
88
+ pydeck==0.8.0
89
+ Pygments==2.14.0
90
+ Pympler==1.0.1
91
+ pyrsistent==0.19.3
92
+ pysodium==0.7.12
93
+ pytezos==3.9.0
94
+ python-dateutil==2.8.2
95
+ python-json-logger==2.0.7
96
+ pytz==2023.3
97
+ pytz-deprecation-shim==0.1.0.post0
98
+ PyYAML==6.0
99
+ pyzmq==25.0.2
100
+ requests==2.28.2
101
+ rfc3339-validator==0.1.4
102
+ rfc3986-validator==0.1.1
103
+ rich==13.3.3
104
+ secp256k1==0.14.0
105
+ semver==2.13.0
106
+ Send2Trash==1.8.0
107
+ simple-bson==0.0.3
108
+ simplejson==3.18.4
109
+ six==1.16.0
110
+ smmap==5.0.0
111
+ sniffio==1.3.0
112
+ soupsieve==2.4
113
+ stack-data==0.6.2
114
+ streamlit==1.20.0
115
+ strict-rfc3339==0.7
116
+ tabulate==0.9.0
117
+ terminado==0.17.1
118
+ testcontainers==3.7.1
119
+ tinycss2==1.2.1
120
+ toml==0.10.2
121
+ toolz==0.12.0
122
+ tornado==6.2
123
+ tqdm==4.65.0
124
+ traitlets==5.9.0
125
+ typing-extensions==4.5.0
126
+ tzdata==2023.3
127
+ tzlocal==4.3
128
+ urllib3==1.26.15
129
+ validators==0.20.0
130
+ watchdog==3.0.0
131
+ wcwidth==0.2.6
132
+ webencodings==0.5.1
133
+ websocket-client==1.5.1
134
+ wrapt==1.15.0
135
+ zipp==3.15.0
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ pytezos==3.2.6
2
+ streamlit==1.20.0
setup.sh ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ mkdir -p ~/.streamlit/
2
+ # shellcheck disable=SC2028
3
+ echo "\
4
+ [general]\n\
5
+ email = \"your-email@domain.com\"\n\
6
+ " >~/.streamlit/credentials.toml
7
+ # shellcheck disable=SC2028
8
+ echo "\
9
+ [server]\n\
10
+ headless = true\n\
11
+ enableCORS=false\n\
12
+ port = $PORT\n\
13
+ " >~/.streamlit/config.toml
tz1gKcJnTTs4LuxCgK32Vayz1RBaY4njNdvu.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mnemonic": ["pair", "deliver", "live", "label", "view", "assist", "fan", "series", "diary", "term", "century", "tissue"], "pkh": "tz1gKcJnTTs4LuxCgK32Vayz1RBaY4njNdvu", "password": ""}