<link crossorigin="anonymous" media="all" integrity="sha512-WsajL/CELB//rfum/kRTIY1GhHtBpSgSutwuewewcg7q8RhQZTy2uB9DPXCo+vVGv4VyRQDruh4ByA+8vMYYXA==" rel="stylesheet" href="https://github.githubassets.com/assets/github-5ac6a32ff0842c1fffadfba6fe445321.css" />
<script crossorigin="anonymous" defer="defer" integrity="sha512-c5VpfOzn6EANeScNPbXa/LU4QBg5Ze0vIRU/l6n/4aFl9VltIFn6kqxI16RuzYkUZ46UkKosp9krLuoEQmKizQ==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-frameworks-7395697c.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-MCsnxQAq47iXkv1E1uZ/yOtk3H5FMKWDfsFQJt+1I2qKK9V5CWC6gzwg7AyoEvhZOSudCFDpB2CIjEKHvHEEQA==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-vendor-302b27c5.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-c99sZIyVeuMqCLPOEflJcpe5ZTLv4XTpv/RHIKSC75x3XaP5F2AYUOetvEjfyPVqG0UBzZ87npeIYC51tiQUlg==" type="application/javascript" data-module-id="./chunk-advanced.js" data-src="https://github.githubassets.com/assets/chunk-advanced-73df6c64.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-5tWKSr7mhAzSh4Sx5YRFgKftdGxKwHKnOGYw5DlxjHhkQVURYFU3Bk5IMOGMKuAiJTlC3OXYM3xzGcyjzuEFQQ==" type="application/javascript" data-module-id="./chunk-animate-on-scroll.js" data-src="https://github.githubassets.com/assets/chunk-animate-on-scroll-e6d58a4a.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-KBzZ2cxgHKiYZk5h1aGQXAmyy3coRenQI9E7GacBNdHZQkxEmnoQWtHbncwDLfaC0V1qI9CYz0nfPjKKfD2H9A==" type="application/javascript" data-module-id="./chunk-array.js" data-src="https://github.githubassets.com/assets/chunk-array-281cd9d9.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-QFFTldE+TutfGrG+ynhJq3dZsoSzrxMvjounvvZpiWbBcNg6citMaOhHRhQA7IIX2QKGgQzGRYqdtFdWm8U08w==" type="application/javascript" data-module-id="./chunk-async-export.js" data-src="https://github.githubassets.com/assets/chunk-async-export-40515395.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-1XwXglKLXHju4JnPBvXcCx59aJd5W8bAMlBWJhh9nw1FbgWSDGdPsYOY6AunsaKV34sa5CWT2Y1s93yc8gdl0Q==" type="application/javascript" data-module-id="./chunk-band.js" data-src="https://github.githubassets.com/assets/chunk-band-d57c1782.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-4WvYrRJRmQ2ZUnnaAbNb8z9k169AIo4KGHJy6smtB8YF1Qyf/7m3za/0sw+8MTMOZEAgy/NAaqubQHdfrttiCg==" type="application/javascript" data-module-id="./chunk-codemirror.js" data-src="https://github.githubassets.com/assets/chunk-codemirror-e16bd8ad.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-ol5y71RI6PxIzSuxVDnwevlSWZzk4bNc3O/EjhN5zfx6VPqcyDOAiN9CoTydwOZwe2K3Jmu+85/EV19h4A13Uw==" type="application/javascript" data-module-id="./chunk-color-modes.js" data-src="https://github.githubassets.com/assets/chunk-color-modes-a25e72ef.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-5n0NkxDGaHjGuDuv3Hh/F3bLxpKIKSFM1QhwsoNs8w1J2GnNFlo8k/InWunzocDmF7JpPvKa+2ngs4+fqtH6OA==" type="application/javascript" data-module-id="./chunk-community-contributions.js" data-src="https://github.githubassets.com/assets/chunk-community-contributions-e67d0d93.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-DbpM4Xk+KtL8iCOI+ZACZGMdHN+r6aXCD2Wibv0FOD6mvDnGinYFYfj0BcPOrN5Ku2lJuhXylCh2wNDCLPBBeQ==" type="application/javascript" data-module-id="./chunk-confetti.js" data-src="https://github.githubassets.com/assets/chunk-confetti-0dba4ce1.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-GM6AOcLPnhJ7QMtSR2lxI+t8Gblk9eWUKT64rN1EFexiOeX/EqUOm2SbheUjt6nXx/4lxNOruWJ3bEqTJWibdA==" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-18ce8039.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-vpt2Tdt20tOKRtrRWtOVaRi2wBoAaflNGUR6xuQgU/0Ywfxvbazq0C2hhKwuiC8b6A813gXGm+8fj0NCEosbYQ==" type="application/javascript" data-module-id="./chunk-copy.js" data-src="https://github.githubassets.com/assets/chunk-copy-be9b764d.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-arflMFcVzVAYaP2n7m7gklPChWsVsCDtRPav2Cb6bqLeJf8pgbojWJ3EseKXILCIqfxl/v6arBduZ9SLmpMEZw==" type="application/javascript" data-module-id="./chunk-delayed-loading-element.js" data-src="https://github.githubassets.com/assets/chunk-delayed-loading-element-6ab7e530.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-IxPgMCrOlm7RiBKC+oxjKsNPCYck1iJdPXLKB5xAXGgPfxfwMFu5Nbo7rvENvGoYik2duKPzIuWtiuRaR1rpuA==" type="application/javascript" data-module-id="./chunk-discussion-page-views.js" data-src="https://github.githubassets.com/assets/chunk-discussion-page-views-2313e030.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-is+LpVglAaNv2cFWyvOFB925YCP9zcSmESL7BcpxFcWdD8AuWFDzC8uxxVT7am/MpvS36RojhfUOX5lQ3kQtOw==" type="application/javascript" data-module-id="./chunk-discussions-daily-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-daily-contributors-8acf8ba5.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-dC+gsvbMNYTbsxGxqEXoxkQgdQ11SaG7bzwAXDBDaCQr6axcsJjxrg+IRsT2cYSk9U9J3QoxfvFfQc0WyyCn3w==" type="application/javascript" data-module-id="./chunk-discussions-new-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-new-contributors-742fa0b2.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-6j/oSF+kbW+yetNPvI684VzAu9pzug6Vj2h+3u1LdCuRhR4jnuiHZfeQKls3nxcT/S3H+oIt7FtigE/aeoj+gg==" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-ea3fe848.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-VSSd+Yzi2iMS+pibY6hD/WdypxAEdob5F2RMKxuKcAHS2EpFYJPeTXoVxt0NXg03tfj2dka2mEtHS+vjpYSaDw==" type="application/javascript" data-module-id="./chunk-edit-hook-secret-element.js" data-src="https://github.githubassets.com/assets/chunk-edit-hook-secret-element-55249df9.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-ErqZFlIt7zIbLoZHvwfq9Zjo5zo+Y1A410nePDGvK+WVTVP10iNTfoqdOOSZNSy1gtLKIWDIIiOV30lr6zUJCA==" type="application/javascript" data-module-id="./chunk-edit.js" data-src="https://github.githubassets.com/assets/chunk-edit-12ba9916.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-aiqMIGGZGo8AQMjcoImKPMTsZVVRl6htCSY7BpRmpGPG/AF+Wq+P/Oj/dthWQOIk9cCNMPEas7O2zAR6oqn0tA==" type="application/javascript" data-module-id="./chunk-emoji-picker-element.js" data-src="https://github.githubassets.com/assets/chunk-emoji-picker-element-6a2a8c20.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-ZkvAlIhTXc2WIcJwCAZTzOMz8z0SY27Vuca0MKXovszcXpgqBzO0Q6XJxhMb/dnFXztr26ZsXTTmcfGbCfF+eg==" type="application/javascript" data-module-id="./chunk-feature-callout-element.js" data-src="https://github.githubassets.com/assets/chunk-feature-callout-element-664bc094.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-OszE/6GlmrYt3ALid4xVFd3/4d9cUH08ndFsO7vs/RHCz2bJ8+UsbjBc8wf09hyCOe9PuEgW0HDWpD32xMio2Q==" type="application/javascript" data-module-id="./chunk-filter-input.js" data-src="https://github.githubassets.com/assets/chunk-filter-input-3accc4ff.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-pLCGZXpLrMe+xNgJe0nZwKVmaj2ffS1KBSej1tr0bL88XF1UmH/nDtwz6sdJzqCI1rT8aPlRi/JB4uTFQDbRgA==" type="application/javascript" data-module-id="./chunk-get-repo-element.js" data-src="https://github.githubassets.com/assets/chunk-get-repo-element-a4b08665.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-n/b9bdJxQwoCami8cS3FuOSbipqxcxMWxAfLilzahbC7F/fGUrAwMvtJGUgvohl5o4196YFeQ4WGMEf7ieCjLA==" type="application/javascript" data-module-id="./chunk-insights-query.js" data-src="https://github.githubassets.com/assets/chunk-insights-query-9ff6fd6d.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-LnpjvZUHuMU9if61yIQsib4cHtVieWEUgFdNYRbiDV0ZAsAlwsjab23vAWcn1vtQOHcNzrOxatGZLaWT1LhCkQ==" type="application/javascript" data-module-id="./chunk-invitations.js" data-src="https://github.githubassets.com/assets/chunk-invitations-2e7a63bd.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-LoQiIDgFdsPO+vTi9LpDNCdNzVYK+lLEdhV55J6BaO7Pv9aZ6SjLUtFWUwRqfJXQFKwt59AeZed6Oa4DCk95qw==" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-2e842220.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-3q9CgTtVlQ6fkBQRgpwkwOZ+3tHjtGqOJeAI+Vp4bbcig2h1mR9iRJG2ohClN8+YThWAOBxizc8R/yrZPbxNSw==" type="application/javascript" data-module-id="./chunk-launch-code-element.js" data-src="https://github.githubassets.com/assets/chunk-launch-code-element-deaf4281.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-wsUZy3UTRSh6p1qIcqNoHOreDHZaJIPcpjewT8nVUjh+v5pbn8vsTKuYwnbc+0MQ6/9ybSdb98P34Bfyhk7VTw==" type="application/javascript" data-module-id="./chunk-line-chart.js" data-src="https://github.githubassets.com/assets/chunk-line-chart-c2c519cb.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-vmtT5r0gvfYRqPPeAKDO2jCskwQgqay7JXgzcGQtAKb5FGptmF3QpO5MuKfazP4AbOqbgGL3VdhfSs64WE409A==" type="application/javascript" data-module-id="./chunk-line.js" data-src="https://github.githubassets.com/assets/chunk-line-be6b53e6.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-7G7VNhRoIxfK6aKTgUSUtMHI6U0k+szgDfwZIEcKuQKs+K0XZGfVivusB0NlOy78zixfFSI7NHzmvHike+5uyQ==" type="application/javascript" data-module-id="./chunk-metric-selection-element.js" data-src="https://github.githubassets.com/assets/chunk-metric-selection-element-ec6ed536.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-itd9nrOOY2Ya/U6KKraiShXuwuiOyQF6GYHaIL2Qr4ZBtRKox9WWGluHogkzuMJM6i7JYvpoeMyPqVudJvIZWg==" type="application/javascript" data-module-id="./chunk-notification-list-focus.js" data-src="https://github.githubassets.com/assets/chunk-notification-list-focus-8ad77d9e.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-/xVat4sRmT7eTsFSwRwImGBbuM1yYIqpi5hRoxeTbSVVVaP0hDuhWBC+GV02pwtQ7iopApx+Ku/YSnYqip3Xcw==" type="application/javascript" data-module-id="./chunk-overview.js" data-src="https://github.githubassets.com/assets/chunk-overview-ff155ab7.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-Av65L2HA84wzeJh2rkcqqc1PFzlpLUCbvpHm9kPIp8aM4rUCq0Aot66ruui6qvUT71HxvBkSmJAzhBF620Hh+Q==" type="application/javascript" data-module-id="./chunk-premium-runners.js" data-src="https://github.githubassets.com/assets/chunk-premium-runners-02feb92f.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-KnJYBEIFII9JrKHSVrweDc2eZVnsli+8z84fGaobkshUzsFpjOwmZvi5+04JfrrqYnOuqoxd5J3IFc3Rj5whzw==" type="application/javascript" data-module-id="./chunk-presence-avatars.js" data-src="https://github.githubassets.com/assets/chunk-presence-avatars-2a725804.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-4O3AMK3FmKoTDmbBwFGIg+rNW3s73lJFQNLSBF1bczsjNsi8zT2t54vTwY1cMG1dox6Nt11wRGhevi1wxOFhWw==" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-e0edc030.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-hgoSKLTlL8I3IWr/TLONCU+N4kdCtdrHCrrud4NKhgRlLrTw0XUPhqBaDdZUiFSzDQRw/nFQ1kw2VeTm0g9+lA==" type="application/javascript" data-module-id="./chunk-profile.js" data-src="https://github.githubassets.com/assets/chunk-profile-860a1228.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-5qbehjrQELB2o61Ml+bBLoJoMzoHJO7Nzxdn6vJ6cB7VuqhRZRPgfkLWR/Mh89NgUansXUn3cPiTxFjv/xgm2w==" type="application/javascript" data-module-id="./chunk-pulse-authors-graph-element.js" data-src="https://github.githubassets.com/assets/chunk-pulse-authors-graph-element-e6a6de86.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-rwK05GgatR2HBl2xVl4TetgLOephK45TremCWh3DA0gLh7I3uRCy8LcOeCpJGxiwEAnwvK/1NtPuZOxM1ofPvA==" type="application/javascript" data-module-id="./chunk-readme-toc-element.js" data-src="https://github.githubassets.com/assets/chunk-readme-toc-element-af02b4e4.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-rhladi60G4WRCtFkJAErIB32DBQt6BIMuzFRR0wJ68nWcqex4+C5Xb62rsOSNdluP3kuaSyWT3GTLCDSLv5jIA==" type="application/javascript" data-module-id="./chunk-ref-selector.js" data-src="https://github.githubassets.com/assets/chunk-ref-selector-ae195a76.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-O+M61pW0S/KI0VCJAmTHsrKw+A7KTRVMxVkkJDV2g040CZFnua/qPVBdYYXKU5/vFMmEf6xxvxRmkIqovHSboQ==" type="application/javascript" data-module-id="./chunk-remote-clipboard-copy.js" data-src="https://github.githubassets.com/assets/chunk-remote-clipboard-copy-3be33ad6.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-Mp71QxLvbETWqOLbbuJkdIoDuq4GVGxxWY6yqhNKB0glCg8Ko13u4s+cqjpa+yBVR/iY74EuVY0mf8qFEF+98A==" type="application/javascript" data-module-id="./chunk-responsive-underlinenav.js" data-src="https://github.githubassets.com/assets/chunk-responsive-underlinenav-329ef543.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-q9IKKBadRSw90Tn8lhS7OS03x1+prUIEwY8/WwYKx4KE++sg826QMTd0WHVOKiyWbVFbJLXxCjqQtJhIsqqvLw==" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-abd20a28.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-09YbpD1GEUsYveNdpufdpzMUGDNtPuBwv0//0HOZMpOeGDQMRLJ6Ga88fh0UreNq9oAVtzycVpdCGOeG5zCh8A==" type="application/javascript" data-module-id="./chunk-series-table.js" data-src="https://github.githubassets.com/assets/chunk-series-table-d3d61ba4.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-bjSP8StMagdENf3/Xy8fkbUePS7vNbw+2hpgg0tne7zm/eiz3b1mM0XthFTSfxhO9QHFD8wO/hOCcbnORvN3NA==" type="application/javascript" data-module-id="./chunk-severity-calculator-element.js" data-src="https://github.githubassets.com/assets/chunk-severity-calculator-element-6e348ff1.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-0x8YGuZvegnDlzFiJOTIk2yWq2XMsKozVvA/Q22rrRVB7DaNCfs5NX7CgIMjPl090FS6fdaPNBJ4RBycCylZfg==" type="application/javascript" data-module-id="./chunk-slug.js" data-src="https://github.githubassets.com/assets/chunk-slug-d31f181a.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-G8biLDF5USKM3vh3+kjazUXGC1l2nl2xvl7FuhwER5yl+dHZzWk4+y3xZCdtKrrUDjXFL0ZNwZF6225VNzSGOw==" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-1bc6e22c.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-O3v+9HFH+N5F1ykqRHp8u124oCRr74QPyPgyOKNeaBeCBrkm/tLCauEfjCD6HHboM011uOZFMP+6nAHsPUocvw==" type="application/javascript" data-module-id="./chunk-stacked-area-chart.js" data-src="https://github.githubassets.com/assets/chunk-stacked-area-chart-3b7bfef4.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-9te2EmX2NLfgZ+eZUwDXvs2NhVVjnIRIoELhSQ4R2HGCMyG0DM+hjCTUwIh34UbipIjWsrr7ndCjbZ8wEDxizw==" type="application/javascript" data-module-id="./chunk-stacks-input-config-view.js" data-src="https://github.githubassets.com/assets/chunk-stacks-input-config-view-f6d7b612.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-DEQRP/uzEpLuk0GmKzm+b2u9bkX0r7abp0sgC+SUTrNOqrsw8+CGCMZRRrDb9doy7agSbXt2PnJkltf1uE8oGQ==" type="application/javascript" data-module-id="./chunk-tag-input.js" data-src="https://github.githubassets.com/assets/chunk-tag-input-0c44113f.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-+ghwIHl4WoTIKefFnsS00RF8wYc+3MqK4eEh1Rst68581JyTbm7O1RxzJjjzlXscQC81/zl70xwhc+SjdReoIA==" type="application/javascript" data-module-id="./chunk-three.module.js" data-src="https://github.githubassets.com/assets/chunk-three.module-fa087020.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-nSaImYvyCFHYd5FJhGCYT8wSQKSl02zyse6g1fuhudwg5fTdZobA8nr78/yRn7Qti0TTLBvzDdKHKR1mHjyfPA==" type="application/javascript" data-module-id="./chunk-tip.js" data-src="https://github.githubassets.com/assets/chunk-tip-9d268899.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-WK8VXw3lfUQ/VRW0zlgKPhcMUqH0uTnB/KzePUPdZhCm/HpxfXXHKTGvj5C0Oex7+zbIM2ECzULbtTCT4ug3yg==" type="application/javascript" data-module-id="./chunk-toast.js" data-src="https://github.githubassets.com/assets/chunk-toast-58af155f.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-VeQi38hQFT2oKliPhoJ0mudIx23Osdjw8Y468QxhBqX0b6hOC6BBZZQr+bBPig5u/Vvl3ly+u3ACWBmXfP7Tdg==" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-55e422df.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-fvcOOYapCxPkDRQWz2WQzrqL6rRhX88yHWF87fb9Xny2Fq4lri0ONaVFL7XDSTiTyu4OTp+8WoyfMVpgGUaaVg==" type="application/javascript" data-module-id="./chunk-unveil.js" data-src="https://github.githubassets.com/assets/chunk-unveil-7ef70e39.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-51evd27B7JHx1YRVlDUHQCGdC0O/ggxGKkuZZz6s2acl2MWrXlt8zGOJ6LJOUXS2gBmyEq/vS/vHvvtbRtTg0Q==" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-e757af77.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-68eowaQsnXq41cvVx4Eno5xrSmJkAB/80AABubLZVDpjAcKz97Gy7I8LXfk+8ITaSg1R33noh3/e2HcfdIIgrA==" type="application/javascript" data-module-id="./chunk-voting.js" data-src="https://github.githubassets.com/assets/chunk-voting-ebc7a8c1.js"></script>
<script crossorigin="anonymous" defer="defer" integrity="sha512-wQnjXBFgueIl3c4MJVGGbqMThHgUcsOVtWP3vsLqqjRdtPae9B/fXj91Ow2UyzOF3b28lFfDi3jCyrJ+0oc/5g==" type="application/javascript" data-module-id="./chunk-webgl-warp.js" data-src="https://github.githubassets.com/assets/chunk-webgl-warp-c109e35c.js"></script>
<meta name="hovercard-subject-tag" content="repository:375347416" data-pjax-transient>
<meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
<meta name="hostname" content="github.com">
<meta name="user-login" content="juliocslima">
<meta name="expected-hostname" content="github.com">
<meta name="js-proxy-site-detection-payload" content="ZTE4MjliMTRjMTA1Yzc3MmZlZWNiNGM0YjAzODAyNjdiODE3ZGM0YzU5ZmEwZjY3M2M1NjU1MjNiZWE3NGIyYnx7InJlbW90ZV9hZGRyZXNzIjoiMTkxLjI0MC44Mi4yMzIiLCJyZXF1ZXN0X2lkIjoiQzNFQTo3NTUzOjEwNEE3NDoxM0NCNDg6NjE3RjM2NkYiLCJ0aW1lc3RhbXAiOjE2MzU3MjY5NjQsImhvc3QiOiJnaXRodWIuY29tIn0=">
<meta name="keyboard-shortcuts-preference" content="all">
<script type="application/json" id="memex_keyboard_shortcuts_preference">"all"</script>
<meta name="enabled-features" content="ACTIONS_CALLABLE_WORKFLOWS,BRANCH_PROTECTION_RULE_WEBHOOK,MARKETPLACE_PENDING_INSTALLATIONS,FILE_UPLOAD_CURSOR_POSITION">
<link rel="canonical" href="https://github.com/PatrickAlphaC/web3_py_simple_storage/blob/main/README.md" data-pjax-transient>
<div class="position-relative js-header-wrapper ">
<a href="#start-of-content" class="p-3 color-bg-info-inverse color-text-white show-on-focus js-skip-to-content">Skip to content</a>
<span data-view-component="true" class="progress-pjax-loader js-pjax-loader-bar Progress position-fixed width-full">
<span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar color-bg-info-inverse"></span>
<script crossorigin="anonymous" defer="defer" integrity="sha512-Ros1b5jOMi2113Jr70O6uNZ2JPEwPRKeIwbTLfPuLI2y/lLMwk4kvpdym3hHZK8BWPvFxcT93b4L5ylM/2iEzQ==" type="application/javascript" src="https://github.githubassets.com/assets/command-palette-468b356f.js"></script>
<header class="Header js-details-container Details px-3 px-md-4 px-lg-5 flex-wrap flex-md-nowrap" role="banner" >
<div class="Header-item mt-n1 mb-n1 d-none d-md-flex">
<a
class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header","action":"go to dashboard","label":"icon:logo","originating_url":"https://github.com/PatrickAlphaC/web3_py_simple_storage/blob/main/README.md","user_id":86537737}}" data-hydro-click-hmac="b13953a28b2b4a553d1bf22a55bb817fa35f6777ddd9e6d0d6d7b1062b0d9763" data-analytics-event="{"category":"Header","action":"go to dashboard","label":"icon:logo"}"
</div>
<div class="Header-item d-md-none">
<button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="Header-link js-details-target btn-link">
<svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-three-bars">
<path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path>
<div class="Header-item Header-item--full flex-column flex-md-row width-full flex-order-2 flex-md-order-none mr-0 mr-md-3 mt-3 mt-md-0 Details-content--hidden-not-important d-md-flex">
<div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
- No suggested jump to results
-
<img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> -
<img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> -
<img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div>
<li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion">
<svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="m-3 anim-rotate">
</div>
</label>
<nav class="d-flex flex-column flex-md-row flex-self-stretch flex-md-self-auto" aria-label="Global">
<a class="Header-link py-md-3 d-block d-md-none py-2 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" href="/dashboard">
Dashboard
<a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore">
Explore
<a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade" href="/settings/profile">
Settings
</div>
<div class="Header-item Header-item--full flex-justify-center d-md-none position-relative">
<a
class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header","action":"go to dashboard","label":"icon:logo","originating_url":"https://github.com/PatrickAlphaC/web3_py_simple_storage/blob/main/README.md","user_id":86537737}}" data-hydro-click-hmac="b13953a28b2b4a553d1bf22a55bb817fa35f6777ddd9e6d0d6d7b1062b0d9763" data-analytics-event="{"category":"Header","action":"go to dashboard","label":"icon:logo"}"
</div>
<div class="Header-item mr-0 mr-md-3 flex-order-1 flex-md-order-none">
<notification-indicator
class="js-socket-channel"
data-test-selector="notifications-indicator"
data-channel="eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6ODY1Mzc3MzciLCJ0IjoxNjM1NzI2OTY0fQ==--256ebad3cdc56f191e04db109ca24eb7f3ee79d3e77769ad03a6f35ad61181e8">
<a href="/notifications"
class="Header-link notification-indicator position-relative tooltipped tooltipped-sw"
aria-label="You have no unread notifications"
data-hotkey="g n"
data-ga-click="Header, go to notifications, icon:read"
data-target="notification-indicator.link">
<span class="mail-status " data-target="notification-indicator.modifier"></span>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell">
<path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path>
</div>
<div class="Header-item position-relative d-none d-md-flex">
<details class="details-overlay details-reset">
</div>
<div class="Header-item position-relative mr-0 d-none d-md-flex">
</div>
</div>
<div data-pjax-replace id="js-flash-container">
<div>{{ message }}</div>
<details class="details-reset details-overlay details-overlay-dark js-command-palette-dialog">
<command-palette-mode
data-char="#"
data-scope-types="[""]"
data-placeholder="Search issues and pull requests"
></command-palette-mode>
<command-palette-mode
data-char="#"
data-scope-types="["owner","repository"]"
data-placeholder="Search issues, pull requests, discussions, and projects"
></command-palette-mode>
<command-palette-mode
data-char="!"
data-scope-types="["owner","repository"]"
data-placeholder="Search projects"
></command-palette-mode>
<command-palette-mode
data-char="@"
data-scope-types="[""]"
data-placeholder="Search or jump to a user, organization, or repository"
></command-palette-mode>
<command-palette-mode
data-char="@"
data-scope-types="["owner"]"
data-placeholder="Search or jump to a repository"
></command-palette-mode>
<command-palette-mode
data-char="/"
data-scope-types="["repository"]"
data-placeholder="Search files"
></command-palette-mode>
<command-palette-mode
data-char="?"
></command-palette-mode>
<command-palette-mode
data-char=">"
data-placeholder="Run a command"
></command-palette-mode>
<command-palette-mode
data-char=""
data-scope-types="["owner"]"
data-placeholder="Search or jump to..."
></command-palette-mode>
<command-palette-mode
class="js-command-palette-default-mode"
data-char=""
data-placeholder="Search or jump to..."
></command-palette-mode>
<command-palette-input placeholder="Search or jump to..."
>
<command-palette-scope>
<command-palette-token
data-text="PatrickAlphaC"
data-id="MDQ6VXNlcjU0Mjc4MDUz"
data-type="owner"
data-value="PatrickAlphaC"
data-targets="command-palette-scope.tokens"
>PatrickAlphaC</command-palette-token>
<command-palette-token
data-text="/web3_py_simple_storage"
data-id="MDEwOlJlcG9zaXRvcnkzNzUzNDc0MTY="
data-type="repository"
data-value="web3_py_simple_storage"
data-targets="command-palette-scope.tokens"
>/web3_py_simple_storage</command-palette-token>
</command-palette-scope>
</command-palette-input>
<command-palette-item-stack class="item-stack-transition-height" >
<command-palette-tip class="color-text-secondary f6 px-3 py-1 my-2" data-type="" data-mode="" data-value="">
Type <code class="p-1 color-bg-tertiary rounded-1">#</code> for issues and pull requests, <code class="p-1 color-bg-tertiary rounded-1">></code> for commands, and <code class="p-1 color-bg-tertiary rounded-1">?</code> for help
</command-palette-tip>
<command-palette-tip class="color-text-secondary f6 px-3 py-1 my-2" data-type="owner" data-mode="" data-value="">
Type <code class="p-1 color-bg-tertiary rounded-1">#</code> for issues, pull requests, and projects, <code class="p-1 color-bg-tertiary rounded-1">></code> for commands, and <code class="p-1 color-bg-tertiary rounded-1">?</code> for help
</command-palette-tip>
<command-palette-tip class="color-text-secondary f6 px-3 py-1 my-2" data-type="repository" data-mode="" data-value="">
Type <code class="p-1 color-bg-tertiary rounded-1">#</code> for issues, pull requests, and projects, <code class="p-1 color-bg-tertiary rounded-1">/</code> for files, and <code class="p-1 color-bg-tertiary rounded-1">></code> for commands
</command-palette-tip>
<command-palette-tip class="mx-3 my-2 flash flash-error d-flex flex-items-center" data-on-error>
<div>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
<path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
<command-palette-item-group
data-group-id="top"
data-group-title="Top result"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="commands"
data-group-title="Commands"
data-group-hint="Type > to filter"
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="files"
data-group-title="Files"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="pages"
data-group-title="Pages"
data-group-hint=""
data-group-limits="{"repository":10}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="access_policies"
data-group-title="Access Policies"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="organizations"
data-group-title="Organizations"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="repositories"
data-group-title="Repositories"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="references"
data-group-title="Issues, pull requests, and discussions"
data-group-hint="Type # to filter"
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="teams"
data-group-title="Teams"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="users"
data-group-title="Users"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="projects"
data-group-title="Projects"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="footer"
data-group-title="Footer"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="modes_help"
data-group-title="Modes"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
<command-palette-item-group
data-group-id="filters_help"
data-group-title="Use filters in issues, pull requests, discussions, and projects"
data-group-hint=""
data-group-limits="{}"
data-targets="command-palette-item-stack.groups"
>
</command-palette-item-group>
</command-palette-item-stack>
<div class="js-command-local-provider-octicons" hidden>
<div data-local-provider-octicon-id="arrow-right-color-icon-tertiary">
<svg height="16" class="octicon octicon-arrow-right color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"></path></svg>
</div>
<div data-local-provider-octicon-id="arrow-right-color-icon-primary">
<svg height="16" class="octicon octicon-arrow-right color-icon-primary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"></path></svg>
</div>
<div data-local-provider-octicon-id="codespaces-color-icon-tertiary">
<svg height="16" class="octicon octicon-codespaces color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 1.75C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 01-1.75 1.75h-8.5A1.75 1.75 0 012 6.75v-5zm1.75-.25a.25.25 0 00-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-5a.25.25 0 00-.25-.25h-8.5zM0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25v-3zM1.75 11a.25.25 0 00-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-3a.25.25 0 00-.25-.25H1.75z"></path><path fill-rule="evenodd" d="M3 12.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zm4 0a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z"></path></svg>
</div>
<div data-local-provider-octicon-id="copy-color-icon-tertiary">
<svg height="16" class="octicon octicon-copy color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path></svg>
</div>
<div data-local-provider-octicon-id="dash-color-icon-tertiary">
<svg height="16" class="octicon octicon-dash color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z"></path></svg>
</div>
<div data-local-provider-octicon-id="file-color-icon-tertiary">
<svg height="16" class="octicon octicon-file color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path></svg>
</div>
<div data-local-provider-octicon-id="lock-color-icon-tertiary">
<svg height="16" class="octicon octicon-lock color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z"></path></svg>
</div>
<div data-local-provider-octicon-id="moon-color-icon-tertiary">
<svg height="16" class="octicon octicon-moon color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z"></path></svg>
</div>
<div data-local-provider-octicon-id="person-color-icon-tertiary">
<svg height="16" class="octicon octicon-person color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.5 5a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm.061 3.073a4 4 0 10-5.123 0 6.004 6.004 0 00-3.431 5.142.75.75 0 001.498.07 4.5 4.5 0 018.99 0 .75.75 0 101.498-.07 6.005 6.005 0 00-3.432-5.142z"></path></svg>
</div>
<div data-local-provider-octicon-id="pencil-color-icon-tertiary">
<svg height="16" class="octicon octicon-pencil color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path></svg>
</div>
<div data-local-provider-octicon-id="issue-opened-open">
<svg height="16" class="octicon octicon-issue-opened open" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path><path fill-rule="evenodd" d="M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z"></path></svg>
</div>
<div data-local-provider-octicon-id="git-pull-request-draft-color-text-tertiary">
<svg height="16" class="octicon octicon-git-pull-request-draft color-text-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.25 1a2.25 2.25 0 00-.75 4.372v5.256a2.251 2.251 0 101.5 0V5.372A2.25 2.25 0 003.25 1zm0 11a.75.75 0 100 1.5.75.75 0 000-1.5zm9.5 3a2.25 2.25 0 100-4.5 2.25 2.25 0 000 4.5zm0-3a.75.75 0 100 1.5.75.75 0 000-1.5z"></path><path d="M14 7.5a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zm0-4.25a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0z"></path></svg>
</div>
<div data-local-provider-octicon-id="search-color-icon-tertiary">
<svg height="16" class="octicon octicon-search color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
</div>
<div data-local-provider-octicon-id="sun-color-icon-tertiary">
<svg height="16" class="octicon octicon-sun color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z"></path></svg>
</div>
<div data-local-provider-octicon-id="sync-color-icon-tertiary">
<svg height="16" class="octicon octicon-sync color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z"></path></svg>
</div>
<div data-local-provider-octicon-id="trash-color-icon-tertiary">
<svg height="16" class="octicon octicon-trash color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"></path></svg>
</div>
<div data-local-provider-octicon-id="key-color-icon-tertiary">
<svg height="16" class="octicon octicon-key color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M6.5 5.5a4 4 0 112.731 3.795.75.75 0 00-.768.18L7.44 10.5H6.25a.75.75 0 00-.75.75v1.19l-.06.06H4.25a.75.75 0 00-.75.75v1.19l-.06.06H1.75a.25.25 0 01-.25-.25v-1.69l5.024-5.023a.75.75 0 00.181-.768A3.995 3.995 0 016.5 5.5zm4-5.5a5.5 5.5 0 00-5.348 6.788L.22 11.72a.75.75 0 00-.22.53v2C0 15.216.784 16 1.75 16h2a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V14h.75a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V12h.75a.75.75 0 00.53-.22l.932-.932A5.5 5.5 0 1010.5 0zm.5 6a1 1 0 100-2 1 1 0 000 2z"></path></svg>
</div>
<div data-local-provider-octicon-id="comment-discussion-color-icon-tertiary">
<svg height="16" class="octicon octicon-comment-discussion color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 2.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-3.5a.75.75 0 00-.53.22L3.5 11.44V9.25a.75.75 0 00-.75-.75h-1a.25.25 0 01-.25-.25v-5.5zM1.75 1A1.75 1.75 0 000 2.75v5.5C0 9.216.784 10 1.75 10H2v1.543a1.457 1.457 0 002.487 1.03L7.061 10h3.189A1.75 1.75 0 0012 8.25v-5.5A1.75 1.75 0 0010.25 1h-8.5zM14.5 4.75a.25.25 0 00-.25-.25h-.5a.75.75 0 110-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0114.25 12H14v1.543a1.457 1.457 0 01-2.487 1.03L9.22 12.28a.75.75 0 111.06-1.06l2.22 2.22v-2.19a.75.75 0 01.75-.75h1a.25.25 0 00.25-.25v-5.5z"></path></svg>
</div>
<div data-local-provider-octicon-id="bell-color-icon-tertiary">
<svg height="16" class="octicon octicon-bell color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path></svg>
</div>
<div data-local-provider-octicon-id="bell-slash-color-icon-tertiary">
<svg height="16" class="octicon octicon-bell-slash color-icon-tertiary" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5c-.997 0-1.895.416-2.534 1.086A.75.75 0 014.38 1.55 5 5 0 0113 5v2.373a.75.75 0 01-1.5 0V5A3.5 3.5 0 008 1.5zM4.182 4.31L1.19 2.143a.75.75 0 10-.88 1.214L3 5.305v2.642a.25.25 0 01-.042.139L1.255 10.64A1.518 1.518 0 002.518 13h11.108l1.184.857a.75.75 0 10.88-1.214l-1.375-.996a1.196 1.196 0 00-.013-.01L4.198 4.321a.733.733 0 00-.016-.011zm7.373 7.19L4.5 6.391v1.556c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01.015.015 0 00.005.012.017.017 0 00.006.004l.007.001h9.037zM8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path></svg>
</div>
</div>
<command-palette-provider data-type="search-links" data-mode="*"></command-palette-provider>
<command-palette-provider data-type="help" data-mode="*">
<command-palette-help
data-group="modes_help"
data-prefix="#"
data-scope-types="[""]"
>
<span data-target="command-palette-help.titleElement">Search for <strong>issues</strong> and <strong>pull requests</strong></span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd">#</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="modes_help"
data-prefix="#"
data-scope-types="["owner","repository"]"
>
<span data-target="command-palette-help.titleElement">Search for <strong>issues, pull requests, discussions,</strong> and <strong>projects</strong></span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd">#</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="modes_help"
data-prefix="@"
data-scope-types="[""]"
>
<span data-target="command-palette-help.titleElement">Search for <strong>organizations, repositories,</strong> and <strong>users</strong></span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd">@</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="modes_help"
data-prefix="!"
data-scope-types="["owner","repository"]"
>
<span data-target="command-palette-help.titleElement">Search for <strong>projects</strong></span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd">!</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="modes_help"
data-prefix="/"
data-scope-types="["repository"]"
>
<span data-target="command-palette-help.titleElement">Search for <strong>files</strong></span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd">/</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="modes_help"
data-prefix=">"
>
<span data-target="command-palette-help.titleElement">Activate <strong>command mode</strong></span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd">></kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="filters_help"
data-prefix="# author:@me"
>
<span data-target="command-palette-help.titleElement">Search your issues, pull requests, and discussions</span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd"># author:@me</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="filters_help"
data-prefix="# author:@me"
>
<span data-target="command-palette-help.titleElement">Search your issues, pull requests, and discussions</span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd"># author:@me</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="filters_help"
data-prefix="# is:pr"
>
<span data-target="command-palette-help.titleElement">Filter to pull requests</span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd"># is:pr</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="filters_help"
data-prefix="# is:issue"
>
<span data-target="command-palette-help.titleElement">Filter to issues</span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd"># is:issue</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="filters_help"
data-prefix="# is:discussion"
data-scope-types="["owner","repository"]"
>
<span data-target="command-palette-help.titleElement">Filter to discussions</span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd"># is:discussion</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="filters_help"
data-prefix="# is:project"
data-scope-types="["owner","repository"]"
>
<span data-target="command-palette-help.titleElement">Filter to projects</span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd"># is:project</kbd>
</span>
</command-palette-help>
<command-palette-help
data-group="filters_help"
data-prefix="# is:open"
>
<span data-target="command-palette-help.titleElement">Filter to open issues, pull requests, and discussions</span>
<span data-target="command-palette-help.hintElement">
<kbd class="hx_kbd"># is:open</kbd>
</span>
</command-palette-help>
</command-palette-provider>
<command-palette-provider
data-type="prefetched"
data-src="/command_palette/commands"
data-debounce="0"
data-mode=">"
></command-palette-provider>
<command-palette-provider
data-type="prefetched"
data-src="/command_palette/jump_to_page_navigation"
data-debounce="0"
data-mode=""
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/issues"
data-debounce="200"
data-mode="#"
data-scope-types="["owner","repository"]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/issues"
data-debounce="200"
data-mode="#"
data-scope-types="[""]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/jump_to"
data-debounce="200"
data-mode="@"
data-scope-types="[""]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/jump_to"
data-debounce="200"
data-mode="@"
data-scope-types="["owner"]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/jump_to_members_only"
data-debounce="200"
data-mode=""
></command-palette-provider>
<command-palette-provider
data-type="prefetched"
data-src="/command_palette/jump_to_members_only_prefetched"
data-debounce="0"
data-mode="@"
data-scope-types="[""]"
></command-palette-provider>
<command-palette-provider
data-type="prefetched"
data-src="/command_palette/jump_to_members_only_prefetched"
data-debounce="0"
data-mode="@"
data-scope-types="["owner"]"
></command-palette-provider>
<command-palette-provider
data-type="prefetched"
data-src="/command_palette/jump_to_members_only_prefetched"
data-debounce="0"
data-mode=""
></command-palette-provider>
<command-palette-provider
data-type="files"
data-src="/command_palette/files"
data-debounce="0"
data-mode="/"
data-scope-types="["repository"]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/discussions"
data-debounce="200"
data-mode="#"
data-scope-types="["owner","repository"]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/projects"
data-debounce="200"
data-mode="#"
data-scope-types="["owner","repository"]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/projects"
data-debounce="200"
data-mode="!"
data-scope-types="["owner","repository"]"
></command-palette-provider>
<command-palette-provider
data-type="prefetched"
data-src="/command_palette/recent_issues"
data-debounce="0"
data-mode="#"
data-scope-types="["owner","repository"]"
></command-palette-provider>
<command-palette-provider
data-type="prefetched"
data-src="/command_palette/recent_issues"
data-debounce="0"
data-mode="#"
data-scope-types="[""]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/teams"
data-debounce="200"
data-mode="@"
data-scope-types="["owner"]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/teams"
data-debounce="200"
data-mode=""
data-scope-types="["owner"]"
></command-palette-provider>
<command-palette-provider
data-type="remote"
data-src="/command_palette/name_with_owner_repository"
data-debounce="200"
data-mode=""
></command-palette-provider>
<command-palette-provider
data-type="main-window-commands"
data-debounce="0"
data-mode=">"
></command-palette-provider>
</command-palette>
<div hidden class="js-command-palette-pjax-meta-data" data-pjax-replace id="command-palette-pjax-meta-data"
data-subject-id="MDEwOlJlcG9zaXRvcnkzNzUzNDc0MTY="
data-subject-type="Repository"
<div class="d-flex mb-3 px-3 px-md-4 px-lg-5">
<div class="flex-auto min-width-0 width-fit mr-3">
<h1 class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-icon-secondary mr-2">
<path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
Public
</div>
<ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
Details
<summary data-hydro-click="{"event_type":"repository.click","payload":{"target":"WATCH_BUTTON","repository_id":375347416,"originating_url":"https://github.com/PatrickAlphaC/web3_py_simple_storage/blob/main/README.md","user_id":86537737}}" data-hydro-click-hmac="da2ac680f3dcfe7cae25cc04242630259b8613515bc0144852d2e2ae431164c3" data-ga-click="Repository, click Watch settings, action:blob#show" aria-label="Notification settings" role="button" data-view-component="true" class="rounded-right-0 btn-sm btn">
<span data-menu-button>
<span
hidden
data-target="notifications-list-subscription-form.unwatchButtonCopy"
>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-eye">
<path fill-rule="evenodd" d="M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"></path>
data-target="notifications-list-subscription-form.stopIgnoringButtonCopy"
>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell-slash">
<path fill-rule="evenodd" d="M8 1.5c-.997 0-1.895.416-2.534 1.086A.75.75 0 014.38 1.55 5 5 0 0113 5v2.373a.75.75 0 01-1.5 0V5A3.5 3.5 0 008 1.5zM4.182 4.31L1.19 2.143a.75.75 0 10-.88 1.214L3 5.305v2.642a.25.25 0 01-.042.139L1.255 10.64A1.518 1.518 0 002.518 13h11.108l1.184.857a.75.75 0 10.88-1.214l-1.375-.996a1.196 1.196 0 00-.013-.01L4.198 4.321a.733.733 0 00-.016-.011zm7.373 7.19L4.5 6.391v1.556c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01.015.015 0 00.005.012.017.017 0 00.006.004l.007.001h9.037zM8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path>
Stop ignoring
data-target="notifications-list-subscription-form.watchButtonCopy"
>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-eye">
<path fill-rule="evenodd" d="M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"></path>
Watch
>
<div class="SelectMenu-modal notifications-component-menu-modal">
<header class="SelectMenu-header">
<h3 class="SelectMenu-title">Notifications</h3>
<button class="SelectMenu-closeButton" type="button" aria-label="Close menu" data-action="click:notifications-list-subscription-form#closeMenu">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
<path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
<div class="SelectMenu-list">
<form data-target="notifications-list-subscription-form.form" data-action="submit:notifications-list-subscription-form#submitForm" action="/notifications/subscribe" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="AqHW0KZXNtwd3QlDB8vGhbZHXBTVMAtDulGDOHhp43g464N7wa7CIoIWIhvizhIF21T6oByCWHUmGYFTVgrowQ==" autocomplete="off" />
<input type="hidden" name="repository_id" value="375347416">
<button
type="submit"
name="do"
value="included"
class="SelectMenu-item flex-items-start"
role="menuitemradio"
aria-checked="true"
data-targets="notifications-list-subscription-form.subscriptionButtons"
>
<span class="f5">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
<path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
<button
type="submit"
name="do"
value="subscribed"
class="SelectMenu-item flex-items-start"
role="menuitemradio"
aria-checked="false"
data-targets="notifications-list-subscription-form.subscriptionButtons"
>
<span class="f5">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
<path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
<button
type="submit"
name="do"
value="ignore"
class="SelectMenu-item flex-items-start"
role="menuitemradio"
aria-checked="false"
data-targets="notifications-list-subscription-form.subscriptionButtons"
>
<span class="f5">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
<path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
>
<span class="f5">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
<path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
<div class="px-3 py-2 d-flex color-bg-subtle flex-items-center">
<span class="f5">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile SelectMenu-icon SelectMenu-icon--device-mobile">
<path fill-rule="evenodd" d="M3.75 0A1.75 1.75 0 002 1.75v12.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 14.25V1.75A1.75 1.75 0 0012.25 0h-8.5zM3.5 1.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25V1.75zM8 13a1 1 0 100-2 1 1 0 000 2z"></path>
<details-dialog class="notifications-component-dialog " data-target="notifications-list-subscription-form.customDialog" hidden>
<div class="SelectMenu-modal notifications-component-dialog-modal overflow-visible">
<form data-target="notifications-list-subscription-form.customform" data-action="submit:notifications-list-subscription-form#submitCustomForm" action="/notifications/subscribe" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="btyJHVcYg3rGmSvN5Thi0YriC+cXltg7QlMxWCxOoKFUlty2MOF3hFlSAJUAPbZR5/GtU94kiw3eGzMzAi2rGA==" autocomplete="off" />
<input type="hidden" name="repository_id" value="375347416">
<header class="d-sm-none SelectMenu-header pb-0 border-bottom-0 px-2 px-sm-3">
<h1 class="f3 SelectMenu-title d-inline-flex">
<button
class="color-bg-default border-0 px-2 py-0 m-0 Link--secondary f5"
aria-label="Return to menu"
type="button"
data-action="click:notifications-list-subscription-form#closeCustomDialog"
>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-arrow-left">
<path fill-rule="evenodd" d="M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z"></path>
<header class="d-none d-sm-flex flex-items-start pt-1">
<button
class="border-0 px-2 pt-1 m-0 Link--secondary f5"
style="background-color: transparent;"
aria-label="Return to menu"
type="button"
data-action="click:notifications-list-subscription-form#closeCustomDialog"
>
<svg style="position: relative; left: 2px; top: 1px" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-arrow-left">
<path fill-rule="evenodd" d="M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z"></path>
<h1 class="pt-1 pr-4 pb-0 pl-0 f5 text-bold">
Custom
</h1>
</header>
<fieldset>
<legend>
<div class="text-small color-fg-muted pt-0 pr-3 pb-3 pl-6 pl-sm-5 border-bottom mb-3">
Select events you want to be notified of in addition to participating and @mentions.
</div>
</legend>
<div class="form-checkbox mr-3 ml-6 ml-sm-5 mb-2 mt-0">
<label class="f5 text-normal">
<input
type="checkbox"
name="thread_types[]"
value="Issue"
data-targets="notifications-list-subscription-form.threadTypeCheckboxes"
data-action="change:notifications-list-subscription-form#threadTypeCheckboxesUpdated"
>
Issues
</label>
</div>
<div class="form-checkbox mr-3 ml-6 ml-sm-5 mb-2 mt-0">
<label class="f5 text-normal">
<input
type="checkbox"
name="thread_types[]"
value="PullRequest"
data-targets="notifications-list-subscription-form.threadTypeCheckboxes"
data-action="change:notifications-list-subscription-form#threadTypeCheckboxesUpdated"
>
Pull requests
</label>
</div>
<div class="form-checkbox mr-3 ml-6 ml-sm-5 mb-2 mt-0">
<label class="f5 text-normal">
<input
type="checkbox"
name="thread_types[]"
value="Release"
data-targets="notifications-list-subscription-form.threadTypeCheckboxes"
data-action="change:notifications-list-subscription-form#threadTypeCheckboxesUpdated"
>
Releases
</label>
</div>
<div class="form-checkbox mr-3 ml-6 ml-sm-5 mb-2 mt-0">
<label class="f5 text-normal">
<input
type="checkbox"
name="thread_types[]"
value="Discussion"
data-targets="notifications-list-subscription-form.threadTypeCheckboxes"
data-action="change:notifications-list-subscription-form#threadTypeCheckboxesUpdated"
>
Discussions
</label>
<span
class="tooltipped tooltipped-nw mr-2 p-1 float-right"
aria-label="Discussions are not enabled for this repo">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-info color-icon-secondary">
<path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z"></path>
>
Security alerts
</label>
</div>
</fieldset>
<div class="pt-2 pb-3 px-3 d-flex flex-justify-start flex-row-reverse">
<button name="do" value="custom" data-target="notifications-list-subscription-form.customSubmit" disabled="disabled" type="submit" data-view-component="true" class="btn-primary btn-sm btn ml-2">
Apply
<button data-action="click:notifications-list-subscription-form#resetForm" data-close-dialog="" type="button" data-view-component="true" class="btn-sm btn">
Cancel
<li>
<div class="js-toggler-container js-social-container starring-container d-block">
<form class="starred js-social-form" action="/PatrickAlphaC/web3_py_simple_storage/unstar" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="s5wZr9VDrsMrYdZ6/B7UGkMHU2I3RMoLSPpi+6NFWUjJxhA8btERThF2lvJfOGwuH+oBELEBkQLKHaHk1ue8lA==" autocomplete="off" />
<input type="hidden" name="context" value="repository">
<button data-hydro-click="{"event_type":"repository.click","payload":{"target":"UNSTAR_BUTTON","repository_id":375347416,"originating_url":"https://github.com/PatrickAlphaC/web3_py_simple_storage/blob/main/README.md","user_id":86537737}}" data-hydro-click-hmac="292c51f1408f36c1d4c5b48760de0abc365a406aee8d0776ac21923d64466bd9" data-ga-click="Repository, click unstar button, action:blob#show; text:Unstar" aria-label="Unstar this repository" type="submit" data-view-component="true" class="js-toggler-target btn-with-count btn-sm btn">
<span data-view-component="true">
Unstar
<span data-view-component="true">
Star
</li>
<li>
<form class="btn-with-count" action="/PatrickAlphaC/web3_py_simple_storage/fork" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="x68Z72FYz5TCCk9NiRzxciYsbtBTR4WLga3R+Cnq0BGumKfISElYD7EvkCvv6uNRUpherNk5lC39Qz3mCTL1dg==" autocomplete="off" />
<button data-hydro-click="{"event_type":"repository.click","payload":{"target":"FORK_BUTTON","repository_id":375347416,"originating_url":"https://github.com/PatrickAlphaC/web3_py_simple_storage/blob/main/README.md","user_id":86537737}}" data-hydro-click-hmac="5c9277a3efc21b933a25d0551b40c89d382727e999c36d94fee0aa345d6f3d95" data-ga-click="Repository, show fork modal, action:blob#show; text:Fork" aria-label="Fork your own copy of PatrickAlphaC/web3_py_simple_storage to your account" type="submit" data-view-component="true" class="btn-with-count btn-sm btn">
Fork
<a href="/PatrickAlphaC/web3_py_simple_storage/network/members" class="social-count" aria-label="12 users forked this repository"
12
</li>
</div>
<div id="responsive-meta-container" data-pjax-replace>
-
Code
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path> -
Issues 1
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path><path fill-rule="evenodd" d="M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z"></path> -
Pull requests 0
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"></path> -
Actions
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"></path> -
Projects 0
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project UnderlineNav-octicon d-none d-sm-inline"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> -
Wiki
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline"> <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path> -
Security
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path fill-rule="evenodd" d="M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z"></path> -
Insights
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path fill-rule="evenodd" d="M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z"></path>
More
<ul>
<li data-menu-item="i0code-tab" hidden>
<a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /PatrickAlphaC/web3_py_simple_storage" href="/PatrickAlphaC/web3_py_simple_storage">
Code
<a href="https://github.dev/" class="d-none js-github-dev-shortcut" data-hotkey=".">Open in github.dev</a>
<a class="d-none js-permalink-shortcut" data-hotkey="y" href="/PatrickAlphaC/web3_py_simple_storage/blob/6756ed5af3ce5831fcbcbc57a6ade748f38dbd75/README.md">Permalink</a>
<div class="d-flex flex-items-start flex-shrink-0 pb-3 flex-wrap flex-md-nowrap flex-justify-between flex-md-justify-start">
<h2 id="blob-path" class="breadcrumb flex-auto flex-self-center min-width-0 text-normal mx-2 width-full width-md-auto flex-order-1 flex-md-order-none mt-3 mt-md-0">
<span class="js-repo-root text-bold"><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="#repo-content-pjax-container" href="/PatrickAlphaC/web3_py_simple_storage"><span>web3_py_simple_storage</span></a></span></span><span class="separator">/</span><strong class="final-path">README.md</strong>
</h2>
<a href="/PatrickAlphaC/web3_py_simple_storage/find/main"
class="js-pjax-capture-input btn mr-2 d-none d-md-block"
data-pjax
data-hotkey="t">
Go to file
</a>
<details id="blob-more-options-details" data-view-component="true" class="details-overlay details-reset position-relative">
<svg aria-label="More options" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
<path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
- Go to file T
-
<span class="d-flex flex-items-baseline"> <span class="flex-auto">Go to line</span> <span class="text-small color-text-secondary" aria-hidden="true">L</span> </span> -
Copy path -
<span class="d-flex flex-items-baseline"> <span class="flex-auto">Copy permalink</span> </span>
<div class="Box d-flex flex-column flex-shrink-0 mb-3">
<span class="markdown-title">
<a data-pjax="true" title="initial commit" class="Link--secondary" href="/PatrickAlphaC/web3_py_simple_storage/commit/13fe78dcaea06b2d695f5c0c666c6389caa15fa5">initial commit</a>
</span>
</div>
<span class="ml-2">
<include-fragment accept="text/fragment+html" src="/PatrickAlphaC/web3_py_simple_storage/commit/13fe78dcaea06b2d695f5c0c666c6389caa15fa5/rollup?direction=e" class="d-inline"></include-fragment>
</span>
</div>
<div class="ml-3 d-flex flex-shrink-0 flex-items-center flex-justify-end color-text-secondary no-wrap">
<span class="d-none d-md-inline">
<span>Latest commit</span>
<a class="text-small text-mono Link--secondary" href="/PatrickAlphaC/web3_py_simple_storage/commit/13fe78dcaea06b2d695f5c0c666c6389caa15fa5" data-pjax>13fe78d</a>
<span itemprop="dateModified"><relative-time datetime="2021-06-09T17:40:12Z" class="no-wrap">Jun 9, 2021</relative-time></span>
</span>
<a data-pjax href="/PatrickAlphaC/web3_py_simple_storage/commits/main/README.md" class="ml-3 no-wrap Link--primary no-underline">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history">
<path fill-rule="evenodd" d="M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"></path>
1
contributor
</summary>
<details-dialog
class="Box Box--overlay d-flex flex-column anim-fade-in fast"
aria-label="Users who have contributed to this file"
src="/PatrickAlphaC/web3_py_simple_storage/contributors-list/main/README.md" preload>
<div class="Box-header">
<button class="Box-btn-octicon btn-octicon float-right" type="button" aria-label="Close dialog" data-close-dialog>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
<path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
contributor
</summary>
<details-dialog
class="Box Box--overlay d-flex flex-column anim-fade-in fast"
aria-label="Users who have contributed to this file"
src="/PatrickAlphaC/web3_py_simple_storage/contributors-list/main/README.md" preload>
<div class="Box-header">
<button class="Box-btn-octicon btn-octicon float-right" type="button" aria-label="Close dialog" data-close-dialog>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
<path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
<div data-target="readme-toc.content" class="Box mt-3 position-relative">
35 lines (34 sloc)
<span class="file-info-divider"></span>
1.09 KB
<div class="BtnGroup">
<a href="/PatrickAlphaC/web3_py_simple_storage/raw/main/README.md" id="raw-url" role="button" data-view-component="true" class="btn-sm btn BtnGroup-item">
Raw
Blame
<div>
<a class="btn-octicon tooltipped tooltipped-nw js-remove-unless-platform"
data-platforms="windows,mac"
href="https://desktop.github.com"
aria-label="Open this file in GitHub Desktop"
data-ga-click="Repository, open with desktop">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
<path fill-rule="evenodd" d="M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"></path>
<remote-clipboard-copy class="d-inline-block btn-octicon" style="height: 26px" data-src="/PatrickAlphaC/web3_py_simple_storage/raw/main/README.md" data-action="click:remote-clipboard-copy#remoteCopy">
<div class="d-flex hide-lg hide-xl flex-order-2 flex-grow-0">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn-octicon" aria-haspopup="true" aria-label="possible actions">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
<path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
<ul class="dropdown-menu dropdown-menu-sw" style="width: 175px">
<li>
<a class="dropdown-item tooltipped tooltipped-nw js-remove-unless-platform"
data-platforms="windows,mac"
href="https://desktop.github.com"
data-ga-click="Repository, open with desktop">
Open with Desktop
</a>
</li>
<li>
<a class="dropdown-item" href="/PatrickAlphaC/web3_py_simple_storage/raw/main/README.md">
View raw
</a>
</li>
<li>
<remote-clipboard-copy class="dropdown-item" data-src="/PatrickAlphaC/web3_py_simple_storage/raw/main/README.md" data-action="click:remote-clipboard-copy#remoteCopy">
Copy raw contents Copy raw contents Copy raw contents Copy raw contents
<li class="dropdown-divider" role="none"></li>
<li>
<a class="dropdown-item" href="/PatrickAlphaC/web3_py_simple_storage/edit/main/README.md">Edit file</a>
</li>
<li>
<a class="dropdown-item menu-item-danger" href="/PatrickAlphaC/web3_py_simple_storage/delete/main/README.md">Delete file</a>
</li>
</ul>
</details>
</div>
<div id="readme" class="Box-body readme blob js-code-block-container p-5 p-xl-6 gist-border-0">
<article class="markdown-body entry-content container-lg" itemprop="text"><ol>
git clone https://github.com/PatrickAlphaC/web3_py_simple_storage
cd web3_py_simple_storage
- Setup a local ganache chain
- Install requirements
pip install -r requirements.txt
- Set your private keys and address, and adjust this section appropriately:
# For connecting to ganache w3 = Web3(Web3.HTTPProvider("http://0.0.0.0:8545")) chaind_id = 1337 my_address = "0x94B806BB0e455576ea46193D9DBbB08d1cc57Da9" private_key = os.getenv("PRIVATE_KEY")
To set your private key as an environment variable, run export PRIVATE_KEY=0xasdfasdfasfdasf. If you're confused on how environment variables work, just set:
private_key = "0xYOUR_KEY_HERE"
- Run
python deploy.py
To run on a testnet, just change these variables to whatever testnet you want to work with:
w3 = Web3(Web3.HTTPProvider("http://0.0.0.0:8545"))
chaind_id = 1337
my_address = "0x94B806BB0e455576ea46193D9DBbB08d1cc57Da9"
private_key = os.getenv("PRIVATE_KEY")
And make sure you have testnet ETH for whatever testnet you're on!
</div>
Go
<div class="Popover anim-scale-in js-tagsearch-popover"
hidden
data-tagsearch-url="/PatrickAlphaC/web3_py_simple_storage/find-definition"
data-tagsearch-ref="main"
data-tagsearch-path="README.md"
data-tagsearch-lang="Markdown"
data-hydro-click="{"event_type":"code_navigation.click_on_symbol","payload":{"action":"click_on_symbol","repository_id":375347416,"ref":"main","language":"Markdown","originating_url":"https://github.com/PatrickAlphaC/web3_py_simple_storage/blob/main/README.md","user_id":86537737}}"
data-hydro-click-hmac="81bd546f9d065541397d99269e259ce9927274dae2cda353f18bbaca312fa70f">
</main>
<a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com">
<svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
<path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path>
<div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
<template id="snippet-clipboard-copy-button">
<style>
.user-mention[href$="/juliocslima"] {
color: var(--color-user-mention-fg);
background-color: var(--color-user-mention-bg);
border-radius: 2px;
margin-left: -2px;
margin-right: -2px;
padding: 0 2px;
}
</style>