diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..53f5e1e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM ubuntu:xenial + +# work directory +ADD . /usr/ethshardingpoc +WORKDIR /usr/ethshardingpoc + +# PREPARE FOR BUIDL +RUN apt-get update +RUN apt-get install -y software-properties-common +RUN add-apt-repository ppa:fkrull/deadsnakes #source of python 3.6, use at own risk +RUN apt-get update + +# PYTHON +RUN apt-get install -y build-essential python3.6 python3.6-dev python3-pip python3.6-venv python3.6-tk +RUN apt-get install -y git + +# MATPLOTLIB +RUN apt-get install -y libxml2 libxml2-dev libpng-dev freetype2-demos pkg-config + +# PIP +RUN python3.6 -m pip install pip --upgrade +RUN python3.6 -m pip install -r requirements.txt \ No newline at end of file diff --git a/Pipfile b/Pipfile deleted file mode 100644 index ad45a37..0000000 --- a/Pipfile +++ /dev/null @@ -1,16 +0,0 @@ -[[source]] - -url = "https://pypi.python.org/simple" -verify_ssl = true -name = "pypi" - - -[packages] - -pusher = "*" -pusherclient = "*" -"web3" = "*" - - -[dev-packages] - diff --git a/Pipfile.lock b/Pipfile.lock deleted file mode 100644 index 5f6bca7..0000000 --- a/Pipfile.lock +++ /dev/null @@ -1,370 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "e9b52e68d7aec03eb81064510c38ba4e42104b00751fbfd32e050ac02c17cef5" - }, - "host-environment-markers": { - "implementation_name": "cpython", - "implementation_version": "3.6.4", - "os_name": "posix", - "platform_machine": "x86_64", - "platform_python_implementation": "CPython", - "platform_release": "17.7.0", - "platform_system": "Darwin", - "platform_version": "Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64", - "python_full_version": "3.6.4", - "python_version": "3.6", - "sys_platform": "darwin" - }, - "pipfile-spec": 6, - "requires": {}, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.python.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "asn1crypto": { - "hashes": [ - "sha256:2f1adbb7546ed199e3c90ef23ec95c5cf3585bac7d11fb7eb562a3fe89c64e87", - "sha256:9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49" - ], - "version": "==0.24.0" - }, - "attrdict": { - "hashes": [ - "sha256:86aeb6d3809e0344409f8148d7cac9eabce5f0b577c160b5e90d10df3f8d2ad3" - ], - "version": "==2.0.0" - }, - "certifi": { - "hashes": [ - "sha256:456048c7e371c089d0a77a5212fb37a2c2dce1e24146e3b7e0261736aaeaa22a", - "sha256:376690d6f16d32f9d1fe8932551d80b23e9d393a8578c5633a2ed39a64861638" - ], - "version": "==2018.8.24" - }, - "cffi": { - "hashes": [ - "sha256:1b0493c091a1898f1136e3f4f991a784437fac3673780ff9de3bcf46c80b6b50", - "sha256:87f37fe5130574ff76c17cab61e7d2538a16f843bb7bca8ebbc4b12de3078596", - "sha256:1553d1e99f035ace1c0544050622b7bc963374a00c467edafac50ad7bd276aef", - "sha256:151b7eefd035c56b2b2e1eb9963c90c6302dc15fbd8c1c0a83a163ff2c7d7743", - "sha256:edabd457cd23a02965166026fd9bfd196f4324fe6032e866d0f3bd0301cd486f", - "sha256:ba5e697569f84b13640c9e193170e89c13c6244c24400fc57e88724ef610cd31", - "sha256:79f9b6f7c46ae1f8ded75f68cf8ad50e5729ed4d590c74840471fc2823457d04", - "sha256:b0f7d4a3df8f06cf49f9f121bead236e328074de6449866515cea4907bbc63d6", - "sha256:4c91af6e967c2015729d3e69c2e51d92f9898c330d6a851bf8f121236f3defd3", - "sha256:7a33145e04d44ce95bcd71e522b478d282ad0eafaf34fe1ec5bbd73e662f22b6", - "sha256:95d5251e4b5ca00061f9d9f3d6fe537247e145a8524ae9fd30a2f8fbce993b5b", - "sha256:b75110fb114fa366b29a027d0c9be3709579602ae111ff61674d28c93606acca", - "sha256:ae5e35a2c189d397b91034642cb0eab0e346f776ec2eb44a49a459e6615d6e2e", - "sha256:fdf1c1dc5bafc32bc5d08b054f94d659422b05aba244d6be4ddc1c72d9aa70fb", - "sha256:9d1d3e63a4afdc29bd76ce6aa9d58c771cd1599fbba8cf5057e7860b203710dd", - "sha256:be2a9b390f77fd7676d80bc3cdc4f8edb940d8c198ed2d8c0be1319018c778e1", - "sha256:ed01918d545a38998bfa5902c7c00e0fee90e957ce036a4000a88e3fe2264917", - "sha256:857959354ae3a6fa3da6651b966d13b0a8bed6bbc87a0de7b38a549db1d2a359", - "sha256:2ba8a45822b7aee805ab49abfe7eec16b90587f7f26df20c71dd89e45a97076f", - "sha256:a36c5c154f9d42ec176e6e620cb0dd275744aa1d804786a71ac37dc3661a5e95", - "sha256:e55e22ac0a30023426564b1059b035973ec82186ddddbac867078435801c7801", - "sha256:3eb6434197633b7748cea30bf0ba9f66727cdce45117a712b29a443943733257", - "sha256:ecbb7b01409e9b782df5ded849c178a0aa7c906cf8c5a67368047daab282b184", - "sha256:770f3782b31f50b68627e22f91cb182c48c47c02eb405fd689472aa7b7aa16dc", - "sha256:d5d8555d9bfc3f02385c1c37e9f998e2011f0db4f90e250e5bc0c0a85a813085", - "sha256:3c85641778460581c42924384f5e68076d724ceac0f267d66c757f7535069c93", - "sha256:ca1bd81f40adc59011f58159e4aa6445fc585a32bb8ac9badf7a2c1aa23822f2", - "sha256:3bb6bd7266598f318063e584378b8e27c67de998a43362e8fce664c54ee52d30", - "sha256:a6a5cb8809091ec9ac03edde9304b3ad82ad4466333432b16d78ef40e0cce0d5", - "sha256:57b2533356cb2d8fac1555815929f7f5f14d68ac77b085d2326b571310f34f6e", - "sha256:495c5c2d43bf6cebe0178eb3e88f9c4aa48d8934aa6e3cddb865c058da76756b", - "sha256:e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4" - ], - "version": "==1.11.5" - }, - "chardet": { - "hashes": [ - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691", - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae" - ], - "version": "==3.0.4" - }, - "cryptography": { - "hashes": [ - "sha256:17db09db9d7c5de130023657be42689d1a5f60502a14f6f745f6f65a6b8195c0", - "sha256:e4aecdd9d5a3d06c337894c9a6e2961898d3f64fe54ca920a72234a3de0f9cb3", - "sha256:10b48e848e1edb93c1d3b797c83c72b4c387ab0eb4330aaa26da8049a6cbede0", - "sha256:2cbaa03ac677db6c821dac3f4cdfd1461a32d0615847eedbb0df54bb7802e1f7", - "sha256:31db8febfc768e4b4bd826750a70c79c99ea423f4697d1dab764eb9f9f849519", - "sha256:7e3b4aecc4040928efa8a7cdaf074e868af32c58ffc9bb77e7bf2c1a16783286", - "sha256:02602e1672b62e803e08617ec286041cc453e8d43f093a5f4162095506bc0beb", - "sha256:dc2d3f3b1548f4d11786616cf0f4415e25b0fbecb8a1d2cd8c07568f13fdde38", - "sha256:76936ec70a9b72eb8c58314c38c55a0336a2b36de0c7ee8fb874a4547cadbd39", - "sha256:8229ceb79a1792823d87779959184a1bf95768e9248c93ae9f97c7a2f60376a1", - "sha256:8a19e9f2fe69f6a44a5c156968d9fc8df56d09798d0c6a34ccc373bb186cee86", - "sha256:8168bcb08403ef144ff1fb880d416f49e2728101d02aaadfe9645883222c0aa5", - "sha256:6a88d9004310a198c474d8a822ee96a6dd6c01efe66facdf17cb692512ae5bc0", - "sha256:be495b8ec5a939a7605274b6e59fbc35e76f5ad814ae010eb679529671c9e119", - "sha256:4a510d268e55e2e067715d728e4ca6cd26a8e9f1f3d174faf88e6f2cb6b6c395", - "sha256:227da3a896df1106b1a69b1e319dce218fa04395e8cc78be7e31ca94c21254bc", - "sha256:e79ab4485b99eacb2166f3212218dd858258f374855e1568f728462b0e6ee0d9", - "sha256:f995d3667301e1754c57b04e0bae6f0fa9d710697a9f8d6712e8cca02550910f", - "sha256:8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6" - ], - "version": "==2.3.1" - }, - "cytoolz": { - "hashes": [ - "sha256:84cc06fa40aa310f2df79dd440fc5f84c3e20f01f9f7783fc9c38d0a11ba00e5" - ], - "markers": "implementation_name == 'cpython'", - "version": "==0.9.0.1" - }, - "eth-abi": { - "hashes": [ - "sha256:d893f8c8732e53c39338ef0a813732c1b1869db9d3e1fd096c1968ae8afbab9c", - "sha256:fd8ff5a21d710fa6751190992fd3483ba21d57e53cb1092f091dfeea29f66ba4" - ], - "version": "==1.2.0" - }, - "eth-account": { - "hashes": [ - "sha256:63d782e7d0db455d13b5d6f18df790895072fde49ed00f1c176ae11dfa87251b", - "sha256:3b5b1735db5736c9bb59786256edb0e18ea912f0a3d835611abb0266aa71c0d1" - ], - "version": "==0.3.0" - }, - "eth-hash": { - "hashes": [ - "sha256:1b9cb34dd3cd99c85c2bd6a1420ceae39a2eee8bf080efd264bcda8be3edecc8", - "sha256:499dc02d098f69856d1a6dd005529c16174157d4fb2a9fe20c41f69e39f8f176" - ], - "version": "==0.2.0" - }, - "eth-keyfile": { - "hashes": [ - "sha256:70d734af17efdf929a90bb95375f43522be4ed80c3b9e0a8bca575fb11cd1159", - "sha256:939540efb503380bc30d926833e6a12b22c6750de80feef3720d79e5a79de47d" - ], - "version": "==0.5.1" - }, - "eth-keys": { - "hashes": [ - "sha256:b48fc92a527bd905525855ebe45e79ba17be6654c4bedb947119648c145c74c0", - "sha256:5ab2612f457452dc0a318655051cdd05c20f4db2f445003a46c98d324101b0e4" - ], - "version": "==0.2.0b3" - }, - "eth-rlp": { - "hashes": [ - "sha256:a94744c207ea731a7266bd0894179dc6e51a6a8965316000c8e823b5d7e07694", - "sha256:05d8456981d85e16a9afa57f2f2c3356af5d1c49499cc8512cfcdc034b90dde5" - ], - "version": "==0.1.2" - }, - "eth-typing": { - "hashes": [ - "sha256:77da8a1f2f91f248cc42493f3dea3245f23a48224a513c4fd05f48b778dafb1a", - "sha256:3b4744c9026e44f3234aae48d3d18062760efc0f755f663f723a12214f127dfc" - ], - "version": "==1.3.0" - }, - "eth-utils": { - "hashes": [ - "sha256:f1861ea21a5b1dc2b9f0cda203abf970d9d539cc2f090a9eceea0e6b61d8baf8", - "sha256:0a253ee6354e1135b5430cfd411bcc1f9ecd41c669e7ee44613dabbe4f6046c4" - ], - "version": "==1.2.1" - }, - "hexbytes": { - "hashes": [ - "sha256:27cc227ae95fc20d44325ac0329a0293d656a05230da079650705030c7d7a819", - "sha256:67e5608cb4a14d0a4ced058e595bb1f70c207ef2b5219fdc82af10e54bcf38de" - ], - "version": "==0.1.0" - }, - "idna": { - "hashes": [ - "sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e", - "sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16" - ], - "version": "==2.7" - }, - "lru-dict": { - "hashes": [ - "sha256:365457660e3d05b76f1aba3e0f7fedbfcd6528e97c5115a351ddd0db488354cc" - ], - "version": "==1.1.6" - }, - "ndg-httpsclient": { - "hashes": [ - "sha256:d2c7225f6a1c6cf698af4ebc962da70178a99bcde24ee6d1961c4f3338130d57", - "sha256:dd174c11d971b6244a891f7be2b32ca9853d3797a72edb34fa5d7b07d8fff7d4", - "sha256:d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210" - ], - "version": "==0.5.1" - }, - "parsimonious": { - "hashes": [ - "sha256:ae0869d72a6e57703f24313a5f5748e73ebff836e6fe8b3ddf34ea0dc00d086b" - ], - "version": "==0.8.0" - }, - "pusher": { - "hashes": [ - "sha256:e6548983d07d0ad33523e6ffec0b7f15a8f6f978176441ad31c1bbf7fa741c9c", - "sha256:092c4f8b0554065acc6a00f58f2e8608ab0cf3be678183cbd38d1e389fe909b3" - ], - "version": "==2.0.1" - }, - "pusherclient": { - "hashes": [ - "sha256:6a23f2c9255c31301d21728743fc3661e078faed8a6e4206e8774739917de33c" - ], - "version": "==0.3.0" - }, - "pyasn1": { - "hashes": [ - "sha256:dea873d6c907c1cf1341fd88742a61efce33227d7743cb37564ab7d7e77dd9fd", - "sha256:13794d835643ee970b2c059dbfe4eb5d751e16c693c8baee61c526abd209e5c7", - "sha256:edad117649643230493aeb4955456ce19ab4b12e94489dde6f7094cdb5a3c87e", - "sha256:e8b69ea2200d42201cbedd486eedb8980f320d4534f83ce2fb468e96aa5545d0", - "sha256:b9d3abc5031e61927c82d4d96c1cec1e55676c1a991623cfed28faea73cdd7ca", - "sha256:d3bbd726c1a760d4ca596a4d450c380b81737612fe0182f5bb3caebc17461fd9", - "sha256:74ac8521a0480f228549be20bea555ae35678f0e754c2fbc6f1576b0959bec43", - "sha256:ded5eea5cb88bc1ce9aa074b5a3092f95ce4741887e317e9b49c7ece75d7ea0e", - "sha256:0ad0fe0593dde1e599cac0bf65bb1a4ec663032f0bc68ee44850db4251e8c501", - "sha256:49a8ed515f26913049113820b462f698e6ed26df62c389dafb6fa3685ddca8de", - "sha256:89399ca8ecd4524f974e926d4ef9e7a787903e01f0a9cdff3131ad1361792fe5", - "sha256:8f291e0338d519a1a0d07f0b9d03c9265f6be26eb32fdd21af6d3259d14ea49c", - "sha256:f58f2a3d12fd754aa123e9fa74fb7345333000a035f3921dbdaa08597aa53137" - ], - "version": "==0.4.4" - }, - "pycparser": { - "hashes": [ - "sha256:99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226" - ], - "version": "==2.18" - }, - "pycryptodome": { - "hashes": [ - "sha256:7bd1c4671b3a2c8d647731e9c34115efa928ff12d0ef1bef68f0f7af984bc239", - "sha256:6b8a3753e31b058d48bdd26c50c049a04f35f0f05c0d866c63fc90fc9b8dc5d7", - "sha256:864249afa1d801c7a2abb3fbed0e9e8ce4844a8f68daff8028a40634f69f0135", - "sha256:dfa339c6ef6a1f36642db0dd0d442207aa2a071caa122d744222f2a2832c530f", - "sha256:c899042914a780abfc01250d22f5674f60195b8149f161a6481b6f6b7aa81dee", - "sha256:80c55dd2246a17b4af18bd615711b90c8df4b780451692f627a38a636d0792ae", - "sha256:2652a86850d7873249c64365a61e1052934f1504f11b57dbe76c1a4dc9b5d593", - "sha256:1e970715407a862b6b4c61f1a8c60734c0fa39f45d36dda46dbd0baf2d8caec2", - "sha256:d0468c5c9944859c862d81621985d407097c08c0e18bb537883b9268c6e34bd1", - "sha256:abd859f70a9cad653644b0415adfe6223f708093296747970ec56a8f5537bfb3", - "sha256:e4406a5141d6d5d19ee515ff6c69baf9a7a10006a8490e7447cbc8dcf61f9903", - "sha256:bc130342d9b6267efaa97ea305b9a46f59c097e95263a6d65abc7890331535e7", - "sha256:0f027d5da3f3c4c0167f3ccf4a1f56674248120656099df35098dfaf3edff0fb", - "sha256:c58539996e2acdb6c5554851cd1b333af889a6aadeb9865127e4bbc17d01ff53", - "sha256:7cb057b700d688bb37082b0086d061462dde18c1fbbe355615db87f3bf97ffa4", - "sha256:31d2f9fa32fd651694dbae298682c1afa2337fa6454b32b241164c2ffe96e1c1", - "sha256:e23b2e13580a4e2d35f7acba674b2b1d1fca9b20a5c0d8ffb98b8fe58c2e7107", - "sha256:c26f706a8b8e1e44076126bfe0319b7eb9038350d5b6ff55c86b2edb434b3e52", - "sha256:f459395378709b7aa32bb6e59d55d72d48631840ed6c1c919f63036bd548f375", - "sha256:26953969934e09d49b2e370229ef262dd480b46130660086b22fea29df335dea", - "sha256:b4c5d98eb9608bf29b66504dba96494a9fac75b3c0c57dfb557f6e812989a3fe", - "sha256:ef50df5404b50109a13e46f4421ffe64a650104e2216e282a49662712b024dae", - "sha256:53cd63d379224ea52d8ba2012fe8acf9eb682aa819c3a9a02397fe3e6b4315a4", - "sha256:7d7e07e885cee42b222ab190ea292f144aaf6e915ea3d1bf9e2f812fc2ad9f18", - "sha256:637bfc8bfb68d477619c54b56d912117abca05306a222ccf03dfc09ab6b4e5a4", - "sha256:fbd0def77da8edd5293e5e3b534763861e1c3f4f645ef3602f718fd709536a77", - "sha256:fa99a0bcadef482300f5308bb9c0041d4f084b085dff0c908350de382df9f87d", - "sha256:927ce443c5183ee7738ce113ecf656842fafbad1d6f4ab726dc12abc8adabfad", - "sha256:9dd8fb9d76fde52c01dcc6d24dc384ddb60ff6fb96216a58017dacc5580600e3", - "sha256:b3cb4af317d9b84f6df50f0cfa6840ba69556af637a83fd971537823e13d601a" - ], - "version": "==3.6.6" - }, - "pyopenssl": { - "hashes": [ - "sha256:26ff56a6b5ecaf3a2a59f132681e2a80afcc76b4f902f612f518f92c2a1bf854", - "sha256:6488f1423b00f73b7ad5167885312bb0ce410d3312eb212393795b53c8caa580" - ], - "version": "==18.0.0" - }, - "requests": { - "hashes": [ - "sha256:63b52e3c866428a224f97cab011de738c36aec0185aa91cfacd418b5d58911d1", - "sha256:ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a" - ], - "version": "==2.19.1" - }, - "rlp": { - "hashes": [ - "sha256:43d8e660fd1d4d8ba31a15edc36116a32d49d68fbb332aad9cd8253bdca06d46", - "sha256:040fb5172fa23d27953a886c40cac989fc031d0629db934b5a9edcd2fb28df1e" - ], - "version": "==1.0.2" - }, - "six": { - "hashes": [ - "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb", - "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" - ], - "version": "==1.11.0" - }, - "toolz": { - "hashes": [ - "sha256:929f0a7ea7f61c178bd951bdae93920515d3fbdbafc8e6caf82d752b9b3b31c9" - ], - "version": "==0.9.0" - }, - "urllib3": { - "hashes": [ - "sha256:b5725a0bd4ba422ab0e66e89e030c806576753ea3ee08554382c14e685d117b5", - "sha256:a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf" - ], - "version": "==1.23" - }, - "web3": { - "hashes": [ - "sha256:a75591b834be8778f726789bdefea6965354d5b43b55e0b5ab674b1d03965235", - "sha256:b1d6760da6b0b9c896b5a071a804401522eea4def3af39522d992c402f8b65fa" - ], - "version": "==4.6.0" - }, - "websocket-client": { - "hashes": [ - "sha256:03763384c530b331ec3822d0b52ffdc28c3aeb8a900ac8c98b2ceea3128a7b4e", - "sha256:3c9924675eaf0b27ae22feeeab4741bb4149b94820bd3a143eeaf8b62f64d821" - ], - "version": "==0.52.0" - }, - "websockets": { - "hashes": [ - "sha256:e02e57346f6a68523e3c43bbdf35dde5c440318d1f827208ae455f6a2ace446d", - "sha256:cb998bd4d93af46b8b49ecf5a72c0a98e5cc6d57fdca6527ba78ad89d6606484", - "sha256:99ac266af38ba1b1fe13975aea01ac0e14bb5f3a3200d2c69f05385768b8568e", - "sha256:f1414e6cbcea8d22843e7eafdfdfae3dd1aba41d1945f6ca66e4806c07c4f454", - "sha256:9fa122e7adb24232247f8a89f2d9070bf64b7869daf93ac5e19546b409e47e96", - "sha256:5c1f55a1274df9d6a37553fef8cff2958515438c58920897675c9bc70f5a0538", - "sha256:6b2e03d69afa8d20253455e67b64de1a82ff8612db105113cccec35d3f8429f0", - "sha256:5a1fa6072405648cb5b3688e9ed3b94be683ce4a4e5723e6f5d34859dee495c1", - "sha256:79ca7cdda7ad4e3663ea3c43bfa8637fc5d5604c7737f19a8964781abbd1148d", - "sha256:2a16dac282b2fdae75178d0ed3d5b9bc3258dabfae50196cbb30578d84b6f6a6", - "sha256:952be9540d83dba815569d5cb5f31708801e0bbfc3a8c5aef1890b57ed7e58bf", - "sha256:82c0354ac39379d836719a77ee360ef865377aa6fdead87909d50248d0f05f4d", - "sha256:91ec98640220ae05b34b79ee88abf27f97ef7c61cf525eec57ea8fcea9f7dddb", - "sha256:7fd2dd9a856f72e6ed06f82facfce01d119b88457cd4b47b7ae501e8e11eba9c", - "sha256:ee55eb6bcf23ecc975e6b47c127c201b913598f38b6a300075f84eeef2d3baff", - "sha256:695e34c4dbea18d09ab2c258994a8bf6a09564e762655408241f6a14592d2908", - "sha256:e79a5a896bcee7fff24a788d72e5c69f13e61369d055f28113e71945a7eb1559", - "sha256:669d1e46f165e0ad152ed8197f7edead22854a6c90419f544e0f234cc9dac6c4", - "sha256:0e2f7d6567838369af074f0ef4d0b802d19fa1fee135d864acc656ceefa33136", - "sha256:a0873eadc4b8ca93e2e848d490809e0123eea154aa44ecd0109c4d0171869584", - "sha256:8f3b956d11c5b301206382726210dc1d3bee1a9ccf7aadf895aaf31f71c3716c" - ], - "version": "==6.0" - } - }, - "develop": {} -} diff --git a/README.md b/README.md index a1b8f17..7df7efb 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,24 @@ -# Ethereum Sharding Proof of Concept +# Ethereum Sharding Proof of Concept (EXPERIMENTAL) This repository contains a proof of concept for a sharding implementation on Ethereum by Vlad Zamfir. -The project was built during [ETHBerlin](http://ethberlin.com/), over 2 days, and should *not* be considered final nor production grade. There are probably major bugs/issues. +The project was built during [ETHBerlin](http://ethberlin.com/), over 2 days, and should *NOT* be considered final nor production grade. There are probably major bugs/issues. -## Getting started - -The dependencies of the simulation (run with ```python simulator.py```), are satisfied by this Dockerfile: +## Building the Docker image ``` -FROM ubuntu:xenial - -# PREPARE FOR BUIDL -RUN apt-get update -RUN apt-get upgrade -RUN apt-get install -y software-properties-common -RUN add-apt-repository ppa:fkrull/deadsnakes #source of python 3.6, use at own risk -RUN apt-get update -RUN apt-get install -y build-essential - -# PYTHON3.6 -RUN apt-get install -y python3.6 -RUN apt-get install -y python3.6-dev -RUN apt-get install -y python3.6-venv -RUN apt-get install -y python3.6-tk - -# GET PIP -RUN apt-get install -y wget -RUN wget https://bootstrap.pypa.io/get-pip.py -RUN python3.6 get-pip.py - -# LINK PYTHON NAMES -RUN ln -s -f /usr/bin/python3.6 /usr/local/bin/python3 -RUN ln -s -f /usr/bin/python3.6 /usr/local/bin/python -RUN ln -s -f /usr/local/bin/pip /usr/local/bin/pip3 - -# IPYTHON -RUN pip3 install --upgrade ipython - -# WEB3 -RUN pip3 install --upgrade web3 +$ docker build --tag py3web3mpl . +``` -# MATPLOTLIB -RUN pip3 install numpy -RUN apt-get install -y libxml2 -RUN apt-get install -y libxml2-dev -RUN pip3 install requests -RUN pip3 install ftfy -#RUN pip3 install zeep -RUN pip3 install pytz -RUN pip3 install docker-py -RUN pip3 install mysql-connector==2.1.6 -RUN pip3 install networkx -RUN apt-get install -y libpng-dev -RUN apt-get install -y freetype2-demos -#RUN apt-get install -y freetype-dev -RUN apt-get install -y pkg-config -#RUN pkg-config --cflags freetype -RUN pip3 install --upgrade matplotlib +## Launching docker ``` -I build it with ```sudo docker build --tag py3web3mpl . ```, then run the container from the ```ethshardingpoc``` repo, mounting it as a docker volume with the command: -``` -sudo docker run -it --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" --volume "$(pwd)":/ethshardingpoc py3web3mpl +$ docker run -it --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" --volume="usr/ethshardingpoc" py3web3mpl ``` -Note that it uses X11 to display matplotlib, so please use it at your own risk, maybe by running the simulation in the container: + +## Running the simulator + ``` -cd ethshardingpoc && python simulator.py +python3.6 simulator.py ``` + +__Note: this uses X11 to display matplotlib, so please use it at your own risk__ \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..76f4ff3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,18 @@ +web3==4.5.0 +ipython==6.5.0 +numpy==1.15.1 +requests==2.19.1 +ftfy==5.5.0 +pytz==2018.5 +docker-py==1.10.6 +mysql-connector==2.1.6 +networkx==2.1 +matplotlib==2.2.3 + +# linting +flake8==3.5.0 +black==18.6b4 +isort==4.3.4 + +# testing +pytest==3.6.0 \ No newline at end of file