├── .nojekyll ├── _coverpage.md ├── _navbar.md ├── _sidebar.md ├── quickstart.md ├── .gitattributes ├── .markdownlint.json ├── CONTRIBUTING.md ├── index.html ├── LICENSE ├── css └── style.css └── README.md /.nojekyll: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_coverpage.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_navbar.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_sidebar.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /quickstart.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.md linguist-detectable=true 2 | 3 | *.md linguist-documentation=false 4 | -------------------------------------------------------------------------------- /.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "default": true, 3 | "MD003": { "style": "atx" }, 4 | "MD007": { "indent": 2 }, 5 | "MD013": { "line-length": false }, 6 | "MD029": { "style": "ordered" }, 7 | "MD033": { "allowed_elements": ["figure", "video"] }, 8 | "no-hard-tabs": true, 9 | "whitespace": true 10 | } 11 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | **[Back to READ ME file](./README.md/)** 2 | 3 | # Contributing Guidelines 4 | 5 | ## Getting Started 6 | 7 | - Fork this Repository [**here**](https://github.com/frankiefab100/Blockchain-Development-Resources/fork) 8 | 9 | - Clone the forked Repository 10 | 11 | - Open the cloned directory in your favorite Code Editor. 12 | 13 | - Add new resources not listed above. 14 |
15 | For efficient review, Please submit **one resource** in a pull request (PR). 16 | 17 | - Indicate the **resource** name and **category** in the PR. 18 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 18 | 19 | Blockchain Development Resources 20 | 21 | 22 | 23 | 26 |
Loading Web3 Learning Resources...
27 | 47 | 48 | 49 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css?family=PT+Sans&Source+Sans+Pro&Roboto+Mono&display=swap"); 2 | * { 3 | -webkit-font-smoothing: antialiased; 4 | -webkit-overflow-scrolling: touch; 5 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 6 | -webkit-text-size-adjust: none; 7 | -webkit-touch-callout: none; 8 | box-sizing: border-box 9 | } 10 | 11 | 12 | body:not(.ready) { 13 | overflow: hidden 14 | } 15 | 16 | .search { 17 | border-bottom: none !important; 18 | } 19 | 20 | .search .input-wrap { 21 | margin-top: 20px !important; 22 | } 23 | 24 | .search input { 25 | border: 1px solid var(--borderColor) !important; 26 | background-color: var(--background) !important; 27 | margin: 0 auto; 28 | color: var(--textColor); 29 | width: 90% !important; 30 | border-radius: 15px; 31 | text-indent: 15px; 32 | } 33 | 34 | body:not(.ready) .app-nav, 35 | body:not(.ready)>nav, 36 | body:not(.ready) [data-cloak] { 37 | display: none 38 | } 39 | 40 | div#app { 41 | font-size: 30px; 42 | font-weight: lighter; 43 | margin: 40vh auto; 44 | text-align: center 45 | } 46 | 47 | div#app:empty:before { 48 | content: "Loading..." 49 | } 50 | 51 | .emoji { 52 | height: 1.2rem; 53 | vertical-align: middle 54 | } 55 | 56 | .progress { 57 | background-color: var(--accent); 58 | height: 2px; 59 | left: 0; 60 | position: fixed; 61 | right: 0; 62 | top: 0; 63 | transition: width .2s, opacity .4s; 64 | width: 0; 65 | z-index: 999999 66 | } 67 | 68 | .search .search-keyword, 69 | .search a:hover { 70 | color: var(--accent) 71 | } 72 | 73 | .search .search-keyword { 74 | font-style: normal; 75 | font-weight: 700 76 | } 77 | 78 | body, 79 | html { 80 | height: 100% 81 | } 82 | 83 | body { 84 | -moz-osx-font-smoothing: grayscale; 85 | -webkit-font-smoothing: antialiased; 86 | color: var(--textColor); 87 | font-family: var(--siteFont), Helvetica Neue, Arial, sans-serif; 88 | font-size: var(--bodyFontSize); 89 | letter-spacing: 0; 90 | margin: 0; 91 | overflow-x: hidden; 92 | 93 | } 94 | 95 | .markdown-section h2 { 96 | color: #fff; 97 | } 98 | 99 | img { 100 | max-width: 100% 101 | } 102 | 103 | a[disabled] { 104 | cursor: not-allowed; 105 | opacity: .6 106 | } 107 | 108 | kbd { 109 | border: 1px solid #ccc; 110 | border-radius: 3px; 111 | display: inline-block; 112 | font-size: 12px!important; 113 | line-height: 12px; 114 | margin-bottom: 3px; 115 | padding: 3px 5px; 116 | vertical-align: middle 117 | } 118 | 119 | li input[type=checkbox] { 120 | margin: 0 .2em .25em 0; 121 | vertical-align: middle 122 | } 123 | 124 | .app-nav { 125 | margin: 25px 60px 0 0; 126 | position: absolute; 127 | right: 0; 128 | text-align: right; 129 | z-index: 10 130 | } 131 | 132 | .app-nav.no-badge { 133 | margin-right: 25px 134 | } 135 | 136 | .app-nav p { 137 | margin: 0 138 | } 139 | 140 | .app-nav>a { 141 | margin: 0 1rem; 142 | padding: 5px 0 143 | } 144 | 145 | .app-nav li, 146 | .app-nav ul { 147 | display: inline-block; 148 | list-style: none; 149 | margin: 0 150 | } 151 | 152 | .app-nav a { 153 | color: inherit; 154 | font-size: 16px; 155 | text-decoration: none; 156 | transition: color .3s 157 | } 158 | 159 | .app-nav a.active, 160 | .app-nav a:hover { 161 | color: var(--accent) 162 | } 163 | 164 | .app-nav a.active { 165 | border-bottom: 2px solid var(--accent) 166 | } 167 | 168 | .app-nav li { 169 | display: inline-block; 170 | margin: 0 1rem; 171 | padding: 5px 0; 172 | position: relative; 173 | cursor: pointer 174 | } 175 | 176 | .app-nav li ul { 177 | background-color: #fff; 178 | border: 1px solid; 179 | border-color: #ddd #ddd #ccc; 180 | border-radius: 4px; 181 | box-sizing: border-box; 182 | display: none; 183 | max-height: calc(100vh - 61px); 184 | overflow-y: auto; 185 | padding: 10px 0; 186 | position: absolute; 187 | right: -15px; 188 | text-align: left; 189 | top: 100%; 190 | white-space: nowrap 191 | } 192 | 193 | .app-nav li ul li { 194 | display: block; 195 | font-size: 14px; 196 | line-height: 1rem; 197 | margin: 8px 14px; 198 | white-space: nowrap 199 | } 200 | 201 | .app-nav li ul a { 202 | display: block; 203 | font-size: inherit; 204 | margin: 0; 205 | padding: 0 206 | } 207 | 208 | .app-nav li ul a.active { 209 | border-bottom: 0 210 | } 211 | 212 | .app-nav li:hover ul { 213 | display: block 214 | } 215 | 216 | .github-corner { 217 | border-bottom: 0; 218 | position: fixed; 219 | right: 0; 220 | text-decoration: none; 221 | top: 0; 222 | z-index: 1 223 | } 224 | 225 | .github-corner:hover .octo-arm { 226 | -webkit-animation: octocat-wave .56s ease-in-out; 227 | animation: octocat-wave .56s ease-in-out 228 | } 229 | 230 | .github-corner svg { 231 | color: #fff; 232 | fill: var(--accent); 233 | height: 70px; 234 | width: 70px 235 | } 236 | 237 | main { 238 | display: block; 239 | position: relative; 240 | width: 100vw; 241 | height: 100%; 242 | z-index: 0 243 | } 244 | 245 | main.hidden { 246 | display: none 247 | } 248 | 249 | .anchor { 250 | display: inline-block; 251 | text-decoration: none; 252 | transition: all .3s 253 | } 254 | 255 | .anchor span { 256 | color: var(--textColor); 257 | } 258 | 259 | .anchor:hover { 260 | text-decoration: underline 261 | } 262 | 263 | .sidebar { 264 | border-right: 1px solid var(--borderColor); 265 | overflow-y: auto; 266 | padding: 40px 0 0; 267 | position: absolute; 268 | top: 0; 269 | bottom: 0; 270 | left: 0; 271 | transition: transform .25s ease-out; 272 | width: 300px; 273 | z-index: 20 274 | } 275 | 276 | .sidebar>h1 { 277 | margin: 0 auto 1rem; 278 | font-size: 1.5rem; 279 | font-weight: 300; 280 | text-align: center 281 | } 282 | 283 | .sidebar>h1 a { 284 | color: inherit; 285 | text-decoration: none 286 | } 287 | 288 | .sidebar>h1 .app-nav { 289 | display: block; 290 | position: static 291 | } 292 | 293 | .sidebar .sidebar-nav { 294 | line-height: 2em; 295 | padding-bottom: 40px 296 | } 297 | 298 | .sidebar li.collapse .app-sub-sidebar { 299 | display: none 300 | } 301 | 302 | .sidebar ul { 303 | margin: 0 0 0 15px; 304 | padding: 0 305 | } 306 | 307 | .sidebar li>p { 308 | font-weight: 700; 309 | margin: 0 310 | } 311 | 312 | .sidebar ul, 313 | .sidebar ul li { 314 | list-style: none 315 | } 316 | 317 | .sidebar ul li a { 318 | border-bottom: none; 319 | display: block 320 | } 321 | 322 | .sidebar ul li ul { 323 | padding-left: 20px 324 | } 325 | 326 | .sidebar::-webkit-scrollbar { 327 | width: 4px 328 | } 329 | 330 | .sidebar::-webkit-scrollbar-thumb { 331 | background: transparent; 332 | border-radius: 4px 333 | } 334 | 335 | .sidebar:hover::-webkit-scrollbar-thumb { 336 | background: hsla(0, 0%, 53.3%, .4) 337 | } 338 | 339 | .sidebar:hover::-webkit-scrollbar-track { 340 | background: hsla(0, 0%, 53.3%, .1) 341 | } 342 | 343 | .sidebar-toggle { 344 | background-color: transparent; 345 | border: 0; 346 | outline: none; 347 | padding: 10px; 348 | position: absolute; 349 | bottom: 0; 350 | left: 0; 351 | text-align: center; 352 | transition: opacity .3s; 353 | width: 284px; 354 | z-index: 30; 355 | cursor: pointer 356 | } 357 | 358 | .sidebar-toggle:hover .sidebar-toggle-button { 359 | opacity: .4 360 | } 361 | 362 | .sidebar-toggle span { 363 | background-color: var(--accent); 364 | display: block; 365 | margin-bottom: 4px; 366 | width: 16px; 367 | height: 2px 368 | } 369 | 370 | body.sticky .sidebar, 371 | body.sticky .sidebar-toggle { 372 | position: fixed 373 | } 374 | 375 | .content { 376 | padding-top: 60px; 377 | position: absolute; 378 | top: 0; 379 | right: 0; 380 | bottom: 0; 381 | left: 300px; 382 | transition: left .25s ease 383 | } 384 | 385 | .markdown-section { 386 | margin: 0 auto; 387 | max-width: 90%; 388 | padding: 30px 15px 40px; 389 | position: relative 390 | } 391 | 392 | .markdown-section>* { 393 | box-sizing: border-box; 394 | font-size: inherit 395 | } 396 | 397 | .markdown-section>:first-child { 398 | margin-top: 0!important 399 | } 400 | 401 | .markdown-section hr { 402 | border: none; 403 | border-bottom: 1px solid #eee; 404 | margin: 2em 0 405 | } 406 | 407 | .markdown-section iframe { 408 | border: 1px solid #eee; 409 | width: 1px; 410 | min-width: 100% 411 | } 412 | 413 | .markdown-section table { 414 | border-collapse: collapse; 415 | border-spacing: 0; 416 | display: block; 417 | margin-bottom: 1rem; 418 | overflow: auto; 419 | width: 100% 420 | } 421 | 422 | .markdown-section th { 423 | font-weight: 700 424 | } 425 | 426 | .markdown-section td, 427 | .markdown-section th { 428 | border: 1px solid #ddd; 429 | padding: 6px 13px 430 | } 431 | 432 | .markdown-section tr { 433 | border-top: 1px solid #ccc 434 | } 435 | 436 | .markdown-section p.tip, 437 | .markdown-section tr:nth-child(2n) { 438 | background-color: var(--codeBackgroundColor) 439 | } 440 | 441 | .markdown-section p.tip { 442 | border-bottom-right-radius: 2px; 443 | border-left: 4px solid #f66; 444 | border-top-right-radius: 2px; 445 | margin: 2em 0; 446 | padding: 12px 24px 12px 30px; 447 | position: relative 448 | } 449 | 450 | .markdown-section p.tip:before { 451 | background-color: #f66; 452 | border-radius: 100%; 453 | color: #fff; 454 | content: "!"; 455 | font-family: Dosis, Source Sans Pro, Helvetica Neue, Arial, sans-serif; 456 | font-size: 14px; 457 | font-weight: 700; 458 | left: -12px; 459 | line-height: 20px; 460 | position: absolute; 461 | height: 20px; 462 | width: 20px; 463 | text-align: center; 464 | top: 14px 465 | } 466 | 467 | .markdown-section p.tip code { 468 | background-color: #efefef 469 | } 470 | 471 | .markdown-section p.tip em { 472 | color: #34495e 473 | } 474 | 475 | .markdown-section p.warn { 476 | background: rgba(66, 185, 131, .1); 477 | border-radius: 2px; 478 | padding: 1rem 479 | } 480 | 481 | .markdown-section ul.task-list>li { 482 | list-style-type: none 483 | } 484 | 485 | body.close .sidebar { 486 | transform: translateX(-300px) 487 | } 488 | 489 | body.close .sidebar-toggle { 490 | width: auto 491 | } 492 | 493 | body.close .content { 494 | left: 0 495 | } 496 | 497 | @media print { 498 | .app-nav, 499 | .github-corner, 500 | .sidebar, 501 | .sidebar-toggle { 502 | display: none 503 | } 504 | } 505 | 506 | @media screen and (max-width:768px) { 507 | .github-corner, 508 | .sidebar, 509 | .sidebar-toggle { 510 | position: fixed 511 | } 512 | .app-nav { 513 | margin-top: 16px 514 | } 515 | .app-nav li ul { 516 | top: 30px 517 | } 518 | main { 519 | height: auto; 520 | overflow-x: hidden 521 | } 522 | .sidebar { 523 | left: -300px; 524 | transition: transform .25s ease-out 525 | } 526 | .content { 527 | left: 0; 528 | max-width: 100vw; 529 | position: static; 530 | padding-top: 20px; 531 | transition: transform .25s ease 532 | } 533 | .app-nav, 534 | .github-corner { 535 | transition: transform .25s ease-out 536 | } 537 | .sidebar-toggle { 538 | background-color: transparent; 539 | width: auto; 540 | padding: 30px 30px 10px 10px 541 | } 542 | body.close .sidebar { 543 | transform: translateX(300px) 544 | } 545 | body.close .sidebar-toggle { 546 | transition: background-color 1s; 547 | width: 284px; 548 | padding: 10px 549 | } 550 | body.close .content { 551 | transform: translateX(300px) 552 | } 553 | body.close .app-nav, 554 | body.close .github-corner { 555 | display: none 556 | } 557 | .github-corner:hover .octo-arm { 558 | -webkit-animation: none; 559 | animation: none 560 | } 561 | .github-corner .octo-arm { 562 | -webkit-animation: octocat-wave .56s ease-in-out; 563 | animation: octocat-wave .56s ease-in-out 564 | } 565 | } 566 | 567 | @-webkit-keyframes octocat-wave { 568 | 0%, 569 | to { 570 | transform: rotate(0) 571 | } 572 | 20%, 573 | 60% { 574 | transform: rotate(-25deg) 575 | } 576 | 40%, 577 | 80% { 578 | transform: rotate(10deg) 579 | } 580 | } 581 | 582 | @keyframes octocat-wave { 583 | 0%, 584 | to { 585 | transform: rotate(0) 586 | } 587 | 20%, 588 | 60% { 589 | transform: rotate(-25deg) 590 | } 591 | 40%, 592 | 80% { 593 | transform: rotate(10deg) 594 | } 595 | } 596 | 597 | section.cover { 598 | align-items: center; 599 | background-position: 50%; 600 | background-repeat: no-repeat; 601 | background-size: cover; 602 | height: 0vh; 603 | display: none 604 | } 605 | 606 | section.cover.show { 607 | display: inline; 608 | background: var(--coverBackground)!important; 609 | } 610 | 611 | section.cover.has-mask .mask { 612 | background-color: #fff; 613 | opacity: .8; 614 | position: absolute; 615 | top: 0; 616 | height: 100%; 617 | width: 100% 618 | } 619 | 620 | section.cover .cover-main { 621 | flex: 1; 622 | margin: -20px 16px 0; 623 | text-align: center; 624 | z-index: 1 625 | } 626 | 627 | section.cover a { 628 | color: inherit 629 | } 630 | 631 | section.cover a, 632 | section.cover a:hover { 633 | text-decoration: none 634 | } 635 | 636 | section.cover p { 637 | line-height: 1.5rem; 638 | margin: 1em 0 639 | } 640 | 641 | section.cover h1 { 642 | color: inherit; 643 | font-size: 2.5rem; 644 | font-weight: 300; 645 | margin: .625rem 0 2.5rem; 646 | position: relative; 647 | text-align: center 648 | } 649 | 650 | section.cover h1 a { 651 | display: block 652 | } 653 | 654 | section.cover h1 small { 655 | bottom: -.4375rem; 656 | font-size: 1rem; 657 | position: absolute 658 | } 659 | 660 | section.cover blockquote { 661 | font-size: 1.5rem; 662 | text-align: center 663 | } 664 | 665 | section.cover ul { 666 | line-height: 1.8; 667 | list-style-type: none; 668 | margin: 1em auto; 669 | max-width: 500px; 670 | padding: 0 671 | } 672 | 673 | section.cover .cover-main>p:last-child a { 674 | border-radius: 2rem; 675 | border: 1px solid var(--accent); 676 | box-sizing: border-box; 677 | color: var(--accent); 678 | display: inline-block; 679 | font-size: 1.05rem; 680 | letter-spacing: .1rem; 681 | margin: .5rem 1rem; 682 | padding: .75em 2rem; 683 | text-decoration: none; 684 | transition: all .15s ease 685 | } 686 | 687 | section.cover .cover-main>p:last-child a:last-child { 688 | background-color: var(--accent); 689 | color: #fff 690 | } 691 | 692 | section.cover .cover-main>p:last-child a:last-child:hover { 693 | color: inherit; 694 | opacity: .8 695 | } 696 | 697 | section.cover .cover-main>p:last-child a:hover { 698 | color: inherit 699 | } 700 | 701 | section.cover blockquote>p>a { 702 | border-bottom: 2px solid var(--accent); 703 | transition: color .3s 704 | } 705 | 706 | section.cover blockquote>p>a:hover { 707 | color: var(--accent) 708 | } 709 | 710 | .sidebar, 711 | body { 712 | background-color: var(--background); 713 | transition: background-image .15s ease-in-out .15s; 714 | } 715 | 716 | .sidebar { 717 | color: var(--textColor); 718 | } 719 | 720 | .sidebar li { 721 | margin: 6px 0 722 | } 723 | 724 | .sidebar ul li a { 725 | color: var(--sidebarSublink); 726 | font-size: 14px; 727 | font-weight: 400; 728 | overflow: hidden; 729 | text-decoration: none; 730 | text-overflow: ellipsis; 731 | white-space: nowrap 732 | } 733 | 734 | .sidebar ul li a:hover { 735 | text-decoration: underline 736 | } 737 | 738 | .sidebar ul li ul { 739 | padding: 0 740 | } 741 | 742 | .sidebar ul li.active>a { 743 | border-right: 2px solid; 744 | color: var(--accent); 745 | font-weight: 600 746 | } 747 | 748 | .app-sub-sidebar li:before { 749 | content: "-"; 750 | padding-right: 4px; 751 | float: left 752 | } 753 | 754 | .markdown-section h1, 755 | .markdown-section h2, 756 | .markdown-section h3, 757 | .markdown-section h4, 758 | .markdown-section strong { 759 | color: var(--textColor); 760 | font-weight: 600 761 | } 762 | 763 | .markdown-section a { 764 | color: var(--accent); 765 | font-weight: 600; 766 | text-decoration: none; 767 | } 768 | 769 | .markdown-section h1 { 770 | font-size: 2rem; 771 | margin: 0 0 1rem 772 | } 773 | 774 | .markdown-section h2 { 775 | font-size: 1.75rem; 776 | margin: 45px 0 .8rem 777 | } 778 | 779 | .markdown-section h3 { 780 | font-size: 1.5rem; 781 | margin: 40px 0 .6rem 782 | } 783 | 784 | .markdown-section h4 { 785 | font-size: 1.25rem 786 | } 787 | 788 | .markdown-section h5 { 789 | font-size: 1rem 790 | } 791 | 792 | .markdown-section h6 { 793 | color: #777; 794 | font-size: 1rem 795 | } 796 | 797 | .markdown-section figure, 798 | .markdown-section p { 799 | margin: 1.2em 0 800 | } 801 | 802 | .markdown-section ol, 803 | .markdown-section p, 804 | .markdown-section ul { 805 | line-height: 1.6rem; 806 | word-spacing: .05rem 807 | } 808 | 809 | .markdown-section ol, 810 | .markdown-section ul { 811 | padding-left: 1.5rem 812 | } 813 | 814 | .markdown-section blockquote { 815 | border-left: 4px solid var(--accent); 816 | color: var(--blockQuoteColor); 817 | margin: 2em 0; 818 | padding-left: 20px 819 | } 820 | 821 | .markdown-section blockquote p { 822 | font-weight: 600; 823 | margin-left: 0 824 | } 825 | 826 | .markdown-section iframe { 827 | margin: 1em 0 828 | } 829 | 830 | .markdown-section em { 831 | color: #7f8c8d 832 | } 833 | 834 | .markdown-section code { 835 | border-radius: 2px; 836 | color: var(--highlightColor); 837 | font-size: .9rem; 838 | margin: 0 2px; 839 | padding: 3px 5px; 840 | white-space: pre-wrap; 841 | font-weight: bold; 842 | } 843 | 844 | .markdown-section code, 845 | .markdown-section pre { 846 | background-color: var(--codeBackgroundColor); 847 | font-family: var(--codeFontFamily); 848 | } 849 | 850 | .markdown-section pre { 851 | -moz-osx-font-smoothing: initial; 852 | -webkit-font-smoothing: initial; 853 | line-height: 1.5rem; 854 | margin: 1.2em 0; 855 | overflow: auto; 856 | padding: 0 1.4rem; 857 | position: relative; 858 | word-wrap: normal 859 | } 860 | 861 | .token.cdata, 862 | .token.comment, 863 | .token.doctype, 864 | .token.prolog { 865 | color: #8e908c 866 | } 867 | 868 | .token.namespace { 869 | opacity: .7 870 | } 871 | 872 | .token.boolean, 873 | .token.number { 874 | color: #c76b29 875 | } 876 | 877 | .token.punctuation { 878 | color: #525252 879 | } 880 | 881 | .token.property { 882 | color: #c08b30 883 | } 884 | 885 | .token.tag { 886 | color: #2973b7 887 | } 888 | 889 | .token.string { 890 | color: var(--accent) 891 | } 892 | 893 | .token.selector { 894 | color: #6679cc 895 | } 896 | 897 | .token.attr-name { 898 | color: #2973b7 899 | } 900 | 901 | .language-css .token.string, 902 | .style .token.string, 903 | .token.entity, 904 | .token.url { 905 | color: #22a2c9 906 | } 907 | 908 | .token.attr-value, 909 | .token.control, 910 | .token.directive, 911 | .token.unit { 912 | color: var(--accent) 913 | } 914 | 915 | .token.function, 916 | .token.keyword { 917 | color: #e96900 918 | } 919 | 920 | .token.atrule, 921 | .token.regex, 922 | .token.statement { 923 | color: #22a2c9 924 | } 925 | 926 | .token.placeholder, 927 | .token.variable { 928 | color: #3d8fd1 929 | } 930 | 931 | .token.deleted { 932 | text-decoration: line-through 933 | } 934 | 935 | .token.inserted { 936 | border-bottom: 1px dotted #202746; 937 | text-decoration: none 938 | } 939 | 940 | .token.italic { 941 | font-style: italic 942 | } 943 | 944 | .token.bold, 945 | .token.important { 946 | font-weight: 700 947 | } 948 | 949 | .token.important { 950 | color: #c94922 951 | } 952 | 953 | .token.entity { 954 | cursor: help 955 | } 956 | 957 | .markdown-section pre>code { 958 | -moz-osx-font-smoothing: initial; 959 | -webkit-font-smoothing: initial; 960 | background-color: var(--codeBackgroundColor); 961 | border-radius: 2px; 962 | color: var(--codeTextColor); 963 | display: block; 964 | font-family: Roboto Mono, Monaco, courier, monospace; 965 | font-size: .8rem; 966 | line-height: inherit; 967 | margin: 0 2px; 968 | max-width: inherit; 969 | overflow: inherit; 970 | padding: 2.2em 5px; 971 | white-space: inherit 972 | } 973 | 974 | .markdown-section code:after, 975 | .markdown-section code:before { 976 | letter-spacing: .05rem 977 | } 978 | 979 | code .token { 980 | -moz-osx-font-smoothing: initial; 981 | -webkit-font-smoothing: initial; 982 | min-height: 1.5rem; 983 | position: relative; 984 | left: auto 985 | } 986 | 987 | pre:after { 988 | color: var(--codeTypeColor); 989 | content: attr(data-lang); 990 | font-size: .6rem; 991 | font-weight: 600; 992 | height: 15px; 993 | line-height: 15px; 994 | padding: 5px 10px 0; 995 | position: absolute; 996 | right: 0; 997 | text-align: right; 998 | top: 0 999 | } 1000 | 1001 | /* toogler */ 1002 | 1003 | #docsify-darklight-theme { 1004 | border: none; 1005 | background-color: transparent; 1006 | position: absolute; 1007 | right: 10px; 1008 | top: 15px; 1009 | width: 25px; 1010 | height: 25px; 1011 | background-repeat: no-repeat; 1012 | background-image: var(--toogleImage); 1013 | -o-background-size: cover; 1014 | -moz-background-size: cover; 1015 | -webkit-background-size:cover; 1016 | background-size: cover; 1017 | cursor: pointer; 1018 | user-select: none; 1019 | transition: background-image .15s ease-in-out .15s 1020 | } 1021 | 1022 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![BDR header](https://user-images.githubusercontent.com/46662771/132558872-9fb63b1d-5c15-470a-8a84-23464519ff15.jpg) 2 | 3 | [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Blockchain%20Development%20Resources%20-%20A%20collection%20of%20FREE%20blockchain%20development%20learning%20resources%20by%20@frankiefab100&url=https://github.com/frankiefab100/Blockchain-Development-Resources&hashtags=blockchaindevelopment,web3,ethereum,smartcontract,blockchaindeveloper,solidity) [![Twitter Follow](https://img.shields.io/twitter/follow/frankiefab100?style=social)](https://twitter.com/frankiefab100) 4 | 5 | # Blockchain Development Resources 6 | 7 | A curated list of FREE resources for learning blockchain development and Web3 in general. Featuring free learning platforms, websites, online courses, tutorials, documentation, games, project starter templates, articles, and books; useful for blockchain enthusiasts, engineers, crypto enthusiasts, developers, designers, and stakeholders in the web3 space. 8 | 9 | It comprises of links to a range of topics like Introduction to Blockchain technology, Web3 and revolution of the Internet, deployment of smart contracts on Ethereum, Solana, Aeternity, Polygon, Celo and other EVM-compatible Blockchain networks, Minting of NFTs, building decentralized applications (DApps), lending protocols and tokens, creating decentralized autonomous organizations (DAOs), fundamentals of cryptography and distributed ledger technology, smart contract security, zero knowledge proof, understanding decentralized finance, How-to-use tutorials on Blockchain development tools and technologies - **RemixIDE, Metamask, Hardhat, Web3js, Ganache, Ethersjs, Web3py, Truffle, OpenZeppelin, Infura, IPFS**; including programming languages for writing smart contracts - **Solidity, Vyper, Rust, Golang, Sophia**. 10 | 11 | #### Please carefully read [`Contributing guidelines`](./CONTRIBUTING.md) before opening a pull request or issue. 12 | 13 | _If you really appreciate the content of this repository, don't forget to give it a Star⭐ and/or Tweet about it_. 14 | 15 | --- 16 | 17 | ## Table of Contents 18 | 19 | - [Websites](#websites) 20 | - [Gamified Tutorials](#gamified-tutorials) 21 | - [Youtube Channels](#youtube-channels) 22 | - [Free Online Courses](#free-online-courses) 23 | - [Github Repositories](#github-repositories) 24 | - [Tutorial Docs](#tutorial-docs) 25 | - [Development Tools](#development-tools) 26 | - [Node Providers](#node-providers) 27 | - [Project Starter](#project-starter) 28 | - [Articles](#articles) 29 | - [Recommended Books](#recommended-books) 30 | 31 | --- 32 | 33 | ## Websites 34 | 35 | | | 36 | | -------------------------------------------------------------------------------------------------------------- | 37 | | [Ethereum.org](https://ethereum.org/en/developers/tutorials/) | 38 | | [Web3Learn](https://web3learn.io/) | 39 | | [The Blockchain School](https://theblockchainschool.io) | 40 | | [Blockchain at Berkeley](https://blockchain.berkeley.edu/) | 41 | | [ProtoSchool](https://proto.school/tutorials) | 42 | | [Dacade](https://dacade.org) | 43 | | [Finematics](https://finematics.com) | 44 | | [Near University](https://www.near.university/learn/by-yourself) | 45 | | [Kerala Blockchain Academy](https://kba.ai) | 46 | | [DApp University](https://www.dappuniversity.com/) | 47 | | [Ethereum Blockchain Dev](https://ethereum-blockchain-developer.com/) | 48 | | [EthereumDev](https://ethereumdev.io/) | 49 | | [UseWeb3](https://useweb3.xyz) | 50 | | [Web3 University](https://www.web3.university/) | 51 | | [Metaschool](https://metaschool.so/) | 52 | | [LearnWeb3 DAO](https://www.learnweb3.io) | 53 | | [Althash University](https://www.althash.university/colleges-schools/blockchain-internship-youth-program-biyp) | 54 | | [We teach Blockchain](https://weteachblockchain.org/courses) | 55 | | [Cadena](https://cadena.dev) | 56 | | [Learn Web3](https://learnweb3.io/) | 57 | | [Tacode](https://tacode.dev) | 58 | | [CryptoLectures](https://cryptolectures.teachable.com/) | 59 | | [Snakecharmers](https://snakecharmers.ethereum.org/) | 60 | | [Codiesalert](https://www.codiesalert.com/) | 61 | | [Cryptopedia](https://www.gemini.com/cryptopedia) | 62 | | [Learn NEAR Club](https://learnnear.club/) | 63 | | [Teach yourself Web3](https://www.teachyourselfweb3.com) | 64 | | [Web3 Freecodecamp](https://web3.freecodecamp.org/) | 65 | | [MetaMask Learn](https://learn.metamask.io/) | 66 | | [Alchemy university](https://university.alchemy.com/) | 67 | | [Buidlguidl](https://buidlguidl.com/) | 68 | | [DApp World](https://dapp-world.com/) | 69 | | [Cyfrin Updraft](https://updraft.cyfrin.io) | 70 | 71 |
72 | ↥ Back To Top 73 |
74 | 75 | ## Gamified Tutorials 76 | 77 | | | 78 | | ---------------------------------------------------------------------------- | 79 | | [Cryptozombies](https://cryptozombies.io) | 80 | | [Ethernaut](https://ethernaut.openzeppelin.com/) | 81 | | [Damnvulnerable DeFi](https://www.damnvulnerabledefi.xyz/) | 82 | | [Vyper.fun](https://vyper.fun/lessons.html#) | 83 | | [Capture the Ether](https://capturetheether.com/) | 84 | | [Space Doggos](https://www.bitdegree.org/course/learn-solidity-space-doggos) | 85 | | [Crypto Hack](https://cryptohack.org) | 86 | 87 |
88 | ↥ Back To Top 89 |
90 | 91 | ## Youtube Channels 92 | 93 | | | 94 | | ------------------------------------------------------------------------------------------------------ | 95 | | [DApp University](https://www.youtube.com/@DAppuniversity) | 96 | | [Eat the blocks](https://www.youtube.com/@eattheblocks) | 97 | | [Ivan on Tech](https://www.youtube.com/@ivanontech) | 98 | | [Nader Dabit](https://www.youtube.com/@naderdabit) | 99 | | [Samarth Developer](https://www.youtube.com/@samarthdeveloper6795) | 100 | | [Austin Griffith](https://www.youtube.com/@austingriffith3550) | 101 | | [Merunas Grincalaitis](https://www.youtube.com/@merunasg) | 102 | | [Will it Scale](https://www.youtube.com/@willitscale) | 103 | | [Smart Contract Programmer](https://www.youtube.com/@smartcontractprogrammer) | 104 | | [Alchemy](https://www.youtube.com/@alchemyplatform) | 105 | | [Hashlips NFT](https://www.youtube.com/@HashLipsNFT) | 106 | | [Patrick Collins](https://www.youtube.com/@PatrickAlphaC) | 107 | | [ETHGlobal](https://www.youtube.com/@ethglobal) | 108 | | [Finematics](https://www.youtube.com/@finematics) 109 | | [Moralis Web3](https://www.youtube.com/@moralisweb3) | 110 | | [Practical Blockchain](https://www.youtube.com/@practicalblockchain) | 111 | | [Blockholic](https://youtube.com/c/Blockholic) | 112 | | [Blockchain at Berkeley](https://www.youtube.com/@blockholic) | 113 | | [Vlad Wulf](https://www.youtube.com/@vladwulf5207) | 114 | | [Ethereum Engineering Group](https://youtube.com/@EthereumEngineeringGroup) | 115 | | [Web3 Club](https://www.youtube.com/@web3club) | 116 | | [Center for Innovative Finance](https://www.youtube.com/@centerforinnovativefinance3039) | 117 | | [Web3 Foundation](https://www.youtube.com/@web3foundation) | 118 | | [Learn Web3DAO](https://www.youtube.com/@learnweb3dao) | 119 | | [Block Explorer](https://www.youtube.com/@blockexplorermedia) | 120 | | [CodeXpert](https://www.youtube.com/@codexpert) | 121 | | [Web3 Learn](https://youtube.com/channel/UCjl8iG0tFvwyLapBPluLfKw) | 122 | | [Edureka](https://www.youtube.com/@edurekaIN) | 123 | | [Code Eater](https://www.youtube.com/@CodeEater21) | 124 | | [Mobilefish.com](https://www.youtube.com/@mobilefish) | 125 | | [Simplilearn](https://www.youtube.com/@simplilearn) | 126 | | [Crypto white board](https://www.youtube.com/@WhiteboardCrypto) | 127 | | [Aeternity Blockchain](https://www.youtube.com/@aeternityblockchain) | 128 | | [Chainlink](https://www.youtube.com/@chainlink) | 129 | | [Codiesalert](https://www.youtube.com/@codiesalert4496) | 130 | | [Web3Academy](https://youtube.com/@Web3Academy) | 131 | | [Cyfrin Audits](https://www.youtube.com/@CyfrinAudits) 132 | 133 |
134 | ↥ Back To Top 135 |
136 | 137 | ## Free Online Courses 138 | 139 | | | 140 | | ----------------------------------------------------------------------------------------------------------------------------------- | 141 | | [Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial](https://www.youtube.com/watch?v=M576WGiDBdQ) 142 | | [Build and Deploy a Modern Web 3.0 Blockchain App - Solidity Smart Contracts Crypto](https://www.youtube.com/watch?v=Wn_Kb3MR_cU) 143 | [Blockchain Development Powered By AI](https://www.youtube.com/watch?v=umepbfKp5rI) 144 | | [Learn Blockchain, Solidity and Full Stack Web3 Development with JavaScript](https://youtu.be/gyMwXuJrbJQ) 145 | | [Blockchain Theory 101](https://www.udemy.com/share/101yjc2@PUdKbFpaTVMPcUBCO0hOfg==/) 146 | | [Blockchain Technology](https://www.edx.org/course/blockchain-technology) 147 | | [Smart Contracts](https://www.coursera.org/learn/smarter-contracts) 148 | | [Blockchain and Deep Learning of AI](https://www.udemy.com/course/blockchain-and-deep-learning-future-of-ai/) 149 | | [Understanding Blockchain Technology](https://www.udemy.com/course/understanding-blockchain-technology/) 150 | | [Ethereum](https://www.ludu.co/course/ethereum) 151 | | [Blockchain Technology and Applications](https://alison.com/course/diploma-in-blockchain-technology-and-applications) 152 | | [Blockchain Technology Fundamentals](https://witscad.com/course/blockchain-technology-fundamentals) 153 | | [Enterprise Blockchains Fundamentals](https://academy.101blockchains.com/courses/enterprise-blockchains-fundamentals) 154 | | [Blockchain Demo - web-based demonstration of hash, block, distributed ledger, token, public/private key pairs and signing](https://andersbrownworth.com/blockchain/) 155 | 156 |
157 | ↥ Back To Top 158 |
159 | 160 | ## GitHub Repositories 161 | - [Full blockchain solidity course javascript](https://github.com/smartcontractkit/full-blockchain-solidity-course-js) 162 | - [Full blockchain solidity course python](https://github.com/smartcontractkit/full-blockchain-solidity-course-py) 163 | - [Learn Solidity, Blockchain Development, & Smart Contracts | Powered By AI ](https://github.com/Cyfrin/foundry-full-course-f23) 164 | - [Blockchain for software engineers](https://github.com/benstew/blockchain-for-software-engineers) 165 | - [Ethereum developer tools list](https://github.com/ConsenSys/ethereum-developer-tools-list) 166 | - [Awesome solidity](https://github.com/bkrem/awesome-solidity) 167 | - [Awesome ethereum security](https://github.com/crytic/awesome-ethereum-security) 168 | - [Awesome blockchain](https://github.com/yjjnls/awesome-blockchain) 169 | - [Blockchain learning path](https://github.com/protofire/blockchain-learning-path) 170 | - [Awesome solidity BlockchainLabs](https://github.com/BlockchainLabsNZ/awesome-solidity) 171 | - [Solidity 101](https://github.com/l-henri/solidity-101) 172 | - [Web3.0 Roadmap](https://github.com/frankiefab100/Web3.0-Roadmap) 173 | - [Web3 Terms](https://github.com/Olanetsoft/web3terms) 174 | - [Smart contract resources](https://github.com/ErichDylus/Smart-Contract-Resources) 175 | - [Learning solidity](https://github.com/pbrudny/learning-solidity-2018) 176 | - [Solidity notes](https://github.com/0xpranay/solidity-notes) 177 | - [Learn solidity with examples](https://github.com/James-Sangalli/learn-solidity-with-examples) 178 | - [Solidity patterns](https://github.com/fravoll/solidity-patterns) 179 | - [Solidity by examples](https://github.com/raineorshine/solidity-by-example) 180 | - [Blockchain development guide](https://github.com/dcbuild3r/blockchain-development-guide) 181 | - [Solidity Cheatsheet](https://github.com/manojpramesh/solidity-cheatsheet) 182 | - [Awesome list rpc nodes providers](https://github.com/arddluma/awesome-list-rpc-nodes-providers) 183 | - [Journey to become a blockchain engineer](https://github.com/spo0ds/Journey-to-become-a-Blockchain-Engineer) 184 | - [DeFi developer roadmap](https://github.com/OffcierCia/DeFi-Developer-Road-Map) 185 | - [Web2 to web3 resources](https://github.com/decentology/web2-to-web3-resources) 186 | - [Blockchain tutorial](https://github.com/nosequeldeebee/blockchain-tutorial) 187 | - [Awesome blockchains](https://github.com/openblockchains/awesome-blockchains) 188 | - [Awesome zero knowledge proofs](https://github.com/matter-labs/awesome-zero-knowledge-proofs) 189 | - [Awesome ZK](https://github.com/ventali/awesome-zk) 190 | - [Awesome ZkEVM](https://github.com/LuozhuZhang/awesome-zkevm) 191 | - [Awesome cryptoeconomics](https://github.com/jpantunes/awesome-cryptoeconomics) 192 | - [Building secure contracts](https://github.com/crytic/building-secure-contracts) 193 | - [Ultimate DeFi research base](https://github.com/OffcierCia/ultimate-defi-research-base) 194 | - [Solidity security](https://github.com/Rari-Capital/solcurity) 195 | - [Solidity security blog](https://github.com/sigp/solidity-security-blog) 196 | - [Web3 security library](https://github.com/immunefi-team/Web3-Security-Library) 197 | - [Solidity school](https://github.com/Aniket-Engg/solidity-school) 198 | - [Crypto List](https://github.com/coinpride/CryptoList) 199 | - [Solidity trivias](https://github.com/ajsantander/trivias) 200 | - [Practical cryptography for developers book](https://github.com/nakov/practical-cryptography-for-developers-book) 201 | - [Awesome openzeppelin](https://github.com/OpenZeppelin/awesome-openzeppelin) 202 | - [Blockchain Dark Forest selfguard handbook](https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook) 203 | - [The Crowdsourced Comprehensive Ethereum Reading List](https://github.com/Scanate/EthList) 204 | - [Eat the blocks](https://github.com/jklepatch/eattheblocks) 205 | - [Decentralized Applications](https://github.com/DavidJohnstonCEO/DecentralizedApplications) 206 | - [Decentralized Websites](https://github.com/unstoppabledomains/decentralized-websites) 207 | - [EVM Opcodes](https://github.com/crytic/evm-opcodes) 208 | - [Typechain](https://github.com/dethcrypto/TypeChain) 209 | - [Awesome blockchain rust](https://github.com/rust-in-blockchain/awesome-blockchain-rust) 210 | - [Awesome rust](https://github.com/rust-unofficial/awesome-rust) 211 | - [Awesome aeternity](https://github.com/aeternity/awesome-aeternity) 212 | - [Metaschool learning projects](https://github.com/0xmetaschool/Learning-Projects) 213 | - [Solana course](https://github.com/Unboxed-Software/solana-course) 214 | - [DeFiHackLabs](https://github.com/SunWeb3Sec/DeFiHackLabs) 215 | - [DeFiVulnLabs](https://github.com/SunWeb3Sec/DeFiVulnLabs) 216 | 217 |
218 | ↥ Back To Top 219 |
220 | 221 | ## Tutorial Docs 222 | 223 | | Tutorial | Description | 224 | | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | 225 | | [Blockchain Development Tutorial](https://cryptodevhub.io/wiki/blockchain-development-tutorial) | Getting Started with Blockchain Development by CryptoDev Hub | 226 | | [Advanced Smart Contracts](https://georgebrowncollege-toronto.github.io/Advanced-Smart-Contracts/index.html) | Advanced Smart Contracts by George Brown College | 227 | | [Getting started with Blockchain](https://kauri.io/#collections/Getting%20Started/blockchain-explained/) | Getting started with Blockchain by Kauri | 228 | | [Public Good Blockchain Development Guide](https://www.devpill.me/docs) | Blockchain Development Guide by Devpill | 229 | | [Ethereum Blockchain Development](https://docs.microsoft.com/en-us/learn/paths/ethereum-blockchain-development) | Get started with blockchain development by Microsoft | 230 | | [Chainstack Web3 Decoded](https://docs.chainstack.com/docs/web3-decoded-introduction) | Diving into Web3 development with Chaintack | 231 | | [Hello World Smart Contracts](https://docs.alchemy.com/alchemy/tutorials/hello-world-smart-contract) | Smart Contract Tutorial by Alchemy | 232 | | [Learn Solidity in Y Minutes](https://learnxinyminutes.com/docs/solidity) | Solidity Tutorial by Learn-x-in-y-minutes | 233 | | [Solidity Docs](https://solidity.readthedocs.io) | Solidity Tutorial | 234 | | [OpenZeppelin Docs](https://ethernaut.openzeppelin.com/) | OpenZeppelin Tutorials by Ethernaut | 235 | | [Polygon Docs](https://academy.polygon.technology/module-1-getting-started/join-the-polygon-academy) | Getting started with Polygon by Polygon Academy | 236 | | [Ethereum Docs](https://studio.ethereum.org/) | Ethereum Tutorial | 237 | | [Decentology Docs](https://docs.decentology.com/) | Ethspring by Decentology | 238 | | [Solana Docs](https://docs.solana.com/) | Solana Documentation | 239 | | [NEAR Docs](https://docs.near.org/docs/tutorials/overview) | NEAR Documentation | 240 | | [Celo Docs](https://docs.celo.org/) | Celo Documentation | 241 | | [Avalanche Docs](https://docs.avax.network/build/tutorials) | Avalanche Documentation | 242 | | [Flow Docs](https://developers.flow.com/) | Flow Documentation | 243 | 244 |
245 | ↥ Back To Top 246 |
247 | 248 | ## Development Tools 249 | 250 | > ETHEREUM & EVM ecosystem 251 | 252 | | Tool | Description | 253 | | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | 254 | | [Remix IDE](https://remix.ethereum.org) | An online Integrated Development Environment used to write, compile, debug and deploy solidity code for smart contracts | 255 | | [EthFiddle](https://ethfiddle.com/) | A solidity browser-based development tool | 256 | | [Solidity](https://docs.soliditylang.org) | An object-oriented, high-level language for implementing smart contracts on Ethereum Virtual Machine | 257 | | [Metamask](https://docs.metamask.io/guide) | A wallet extension for accessing and injecting the Ethereum web3 API | 258 | | [Truffle Suite](https://trufflesuite.com/doc) | Development environment, testing framework and asset pipeline for blockchains using the EVM | 259 | | [Web3.js](https://web3js.readthedocs.io) | A collection of libraries that allow you to interact with a local or remote ethereum node using HTTP, IPC or WebSocket | 260 | | [Hardhat](https://hardhat.org/getting-started/) | An Ethereum development environment that helps developers manage and automate the recurring tasks inherent to building smart contracts and DApps | 261 | | [Ethers.js](https://docs.ethers.io) | A compact library for interacting with the Ethereum Blockchain and its ecosystem | 262 | | [Vyper](https://vyper.readthedocs.io/en/latest/vyper-by-example.html) | A contract-oriented, pythonic programming language that targets the Ethereum Virtual Machine (EVM) | 263 | | [Web3.py](https://web3py.readthedocs.io) | A Python library for interacting with Ethereum, inspired by web3.js | 264 | | [Go Ethereum](https://geth.ethereum.org/docs/) | Golang implementation of Ethereum protocol | 265 | | [Brownie](https://eth-brownie.readthedocs.io) | A Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine | 266 | | [OpenZeppelin](https://docs.openzeppelin.com/learn/) | A library for secure smart contract development and community-vetted code | 267 | | [EVM Codes](https://www.evm.codes/) | An interactive reference to Ethereum Virtual Machine Opcodes | 268 | | | 269 | | [EVM Opcodes](https://www.ethervm.io/) | Ethereum Virtual Machine Opcodes | 270 | | | 271 | | [Chainlist](https://chainlist.org/) | A list of EVM networks with informations used to connect wallets and Web3 middleware providers to the appropriate Chain and Network ID | 272 | | | 273 | | [Web3 Type Converter](https://web3-type-converter.onbrn.com/) | Convert from a bytes32/hex into a string/number or vice-versa | 274 | | | 275 | | [Foundry](https://getfoundry.sh/) | A blazing fast, portable and modular toolkit for Ethereum application development written in Rust | 276 | | | 277 | 278 | 279 | > SOLANA 280 | 281 | | Tool/Resource | Description | 282 | | --------------------------------------------- | --------------------------------------------------------------------- | 283 | | [Solana Cookbook](https://solanacookbook.com) | Developer resource for building on Solana Blockchain | 284 | | [Rust](https://www.rust-lang.org/learn) | Programming language for writing smart contracts on Solana Blockchain | 285 | | [Solang](https://solang.readthedocs.io/) | Solidity Compiler for Solana | 286 | 287 | 288 | > Web3 SDK & Platforms 289 | 290 | | Platform | Description | 291 | | --------------------------------------------- | -------------------------------------------------------------------------- | 292 | | [Moralis](https://moralis.io) | Moralis provides a single workflow for building high performance dapps | 293 | | [Thirdweb](https://thirdweb.com) | Powerful SDK and intuitive tools for developers to implement web3 features | 294 | 295 | 296 |
297 | ↥ Back To Top 298 |
299 | 300 | 301 | ## Node Providers 302 | 303 | > Infrastructure services provides instant and reliable infrastructure, empowering developers to create dApps and enhance efficiency. 304 | 305 | | Infrastructure Service | Description | 306 | | ------------------------------------- | --------------------------------------------------------------------------------------------- | 307 | | [NodeReal](https://nodereal.io) | NodeReal is a blockchain infrastructure and services provider | 308 | | [Infura](https://infura.io/) | Infura provides infrastructure and tools for developers to build amazing Web 3.0 applications | 309 | | [Alchemy](https://www.alchemy.com) | Alchemy provides infrastructure service to build great blockchain applications | 310 | | [Chainstack](https://www.chainstack.com) | Chainstack is the leading suite of services connecting developers with Web3 infrastructure | 311 | | [QuickNode](https://www.quicknode.com)| A single platform for your production, staging, and testing environments | 312 | | [Ankr](https://www.ankr.com/protocol/)| The fastest and most reliable Web3 infrastructure provider | 313 | | [GetBlock](https://getblock.io/)| A flexible Blockchain RPC Provider that offers instant API access to over 50 multiple blockchains | 314 | 315 |
316 | ↥ Back To Top 317 |
318 | 319 | 320 | ## Project Starter 321 | 322 | - [Create-web3-dapp](https://github.com/alchemyplatform/create-web3-dapp) 323 | - [Scaffold-Eth](https://github.com/scaffold-eth/scaffold-eth) 324 | - [Create-eth-app](https://github.com/paulrberg/create-eth-app) 325 | - [Web3-react](https://github.com/NoahZinsmeister/web3-react) 326 | - [Web3-ui](https://github.com/Developer-DAO/web3-ui) 327 | - [Create-web3-frontend](https://github.com/Dhaiwat10/create-web3-frontend) 328 | - [Wagmi.sh](https://wagmi.sh/) 329 | - [Nexth](https://github.com/wslyvh/nexth) 330 | - [create-near-app](https://github.com/near/create-near-app) 331 | - [Eth-hooks](https://scaffold-eth.github.io/eth-hooks/) 332 | - [Typescript Solidity Dev Starter Kit](https://github.com/rhlsthrm/typescript-solidity-dev-starter-kit) 333 | - [Dapp scaffold](https://github.com/solana-labs/dapp-scaffold) 334 | - [Ethereum Boilerplate](https://github.com/ethereum-boilerplate/ethereum-boilerplate) 335 | - [Solana dapp scaffold](https://github.com/swaroopmaddu/solana-dapp-scaffold) 336 | - [Polygon dapp starter kit](https://github.com/Polygon-Academy/starter-kits) 337 | - [Nextjs dapp starter ts](https://github.com/G3root/nextjs-dapp-starter-ts) 338 | - [Lens protocol frontend](https://github.com/dabit3/lens-protocol-frontend) 339 | - [Buildspace dao starter](https://github.com/buildspace/buildspace-dao-starter) 340 | - [Solidity hardhat boilerplate](https://github.com/defi-wonderland/solidity-hardhat-boilerplate) 341 | - [Solidity foundry boilerplate](https://github.com/defi-wonderland/solidity-foundry-boilerplate) 342 | - [Hardhat template](https://github.com/paulrberg/hardhat-template) 343 | - [Web3ui kit](https://github.com/web3ui/web3uikit) 344 | - [Lens API starter](https://github.com/womenbuildweb3/lens-api-starter) 345 | - [Solidity template](https://github.com/mattstam/solidity-template) 346 | - [template-web3-app](https://github.com/turbo-eth/template-web3-app) 347 | - [Boilr3](https://github.com/Envoy-VC/boilr3) 348 | - [Solidity hardhat typescript boilerplate](https://github.com/emretepedev/solidity-hardhat-typescript-boilerplate) 349 | 350 | 351 |
352 | ↥ Back To Top 353 |
354 | 355 | ## Articles 356 | 357 | - [Blockchain](https://www.investopedia.com/terms/b/blockchain.asp) 358 | - [What is Web3? The Decentralized Internet of the Future Explained](https://www.freecodecamp.org/news/what-is-web3/) 359 | - [The meaning of decentralization](https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274) 360 | - [Getting started as an ethereum web developer](https://hackernoon.com/getting-started-as-an-ethereum-web-developer-9a2a4ab47baf) 361 | - [The complete guide to full stack ethereum development](https://freecodecamp.org/the-complete-guide-to-full-stack-ethereum-development/) 362 | - [Learn blockchain development by playing games](https://frankiefab.hashnode.dev/learn-blockchain-development-by-playing-games) 363 | - [An introduction to bitcoin and cryptocurrency](https://hackernoon.com/an-introduction-to-bitcoin-and-cryptocurrency-618c139d1d06) 364 | - [Ethereum dapp crash course - make an erc20 token faucet frontend](https://dev.to/richardmelko/ethereum-dapp-crash-course-make-an-erc20-token-faucet-frontend-2m43) 365 | - [How to create an erc20 token and a solidity vendor contract](https://dev.to/stermi/how-to-create-an-erc20-token-and-a-solidity-vendor-contract-to-sell-buy-your-own-token-4j1m) 366 | - [Building on ethereum mainnet](https://kndrck.co/posts/building-on-ethereum-mainnet-an-opinionated-guide/) 367 | - [Creating, Deploying, and Minting your ERC1155 token on Celo](https://celo.academy/t/creating-deploying-minting-your-erc1155-token-on-celo/75) 368 | - [Ethereum dev speed run](https://medium.com/@austin_48503/%EF%B8%8Fethereum-dev-speed-run-bd72bcba6a4c) 369 | - [Ethereum for web-developers](https://medium.com/@mvmurthy/ethereum-for-web-developers-890be23d1d0c) 370 | - [How to deploy your first smart contract on ethereum with solidity and hardhat](https://stermi.medium.com/how-to-deploy-your-first-smart-contract-on-ethereum-with-solidity-and-hardhat-22f21d31096e) 371 | - [Create a solana dapp from scratch](https://lorisleiva.com/create-a-solana-dapp-from-scratch) 372 | - [Ethereum in depth - part1](https://blog.openzeppelin.com/ethereum-in-depth-part-1-968981e6f833/) 373 | - [How the bitcoin protocol actually works](https://michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/) 374 | - [How does Ethereum work anyway](https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369) 375 | - [Solidity tutorial](https://blockonomi.com/solidity-tutorial/) 376 | - [Solidity 101](https://secureum.substack.com/p/solidity-101) 377 | - [How to create an erc-20 token on polygon](https://blog.chain.link/how-to-create-an-erc-20-token-on-polygon/) 378 | - [How to get into ethereum crypto web3 as a developer](https://dev.to/dabit3/how-to-get-into-ethereum-crypto-web3-as-a-developer-9l6) 379 | - [Building scalable full stack apps on ethereum with polygon](https://dev.to/edge-and-node/building-scalable-full-stack-apps-on-ethereum-with-polygon-2cfb) 380 | - [How to make an nft and render on opensea marketplace](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/) 381 | - [Build defi yield farming application with chainlink](https://blog.chain.link/build-defi-yield-farming-application-with-chainlink/) 382 | - [How to make Contract Calls using Hardhat](https://celo.academy/t/how-to-create-and-test-contract-calls-with-celo-and-hardhat/42) 383 | - [Smart Contract Unit Testing with Truffle](https://celo.academy/t/unit-testing-with-truffle-and-celo/40) 384 | - [Intro security hacking smart contracts ethereum](https://www.notonlyowner.com/learn/intro-security-hacking-smart-contracts-ethereum) 385 | - [How to build a blockchain in rust](https://blog.logrocket.com/how-to-build-a-blockchain-in-rust/) 386 | - [Web 3.0 and the evolution of the internet](https://dev.to/frankiefab100/web-30-and-the-evolution-of-the-internet-56hk) 387 | - [Nft deployment cost](https://blog.alchemy.com/blog/nft-deployment-cost) 388 | - [How to code your own cryptokitties style game on ethereum](https://medium.com/loom-network/how-to-code-your-own-cryptokitties-style-game-on-ethereum-7c8ac86a4eb3) 389 | - [How to create run your own dao](https://medium.com/bitfwd/how-to-create-run-your-own-dao-5e3eadd96962) 390 | - [The ultimate ENS and dApp tutorial](https://www.toptal.com/ethereum/ethereum-name-service-dapp-tutorial) 391 | - [How Can A Newbie Start Learning About Blockchain?](https://www.blockchain-council.org/blockchain/how-can-a-newbie-start-learning-about-blockchain/) 392 | - [Learn Blockchain Development By Playing Games](https://frankiefab.hashnode.dev/learn-blockchain-development-by-playing-games) 393 | - [Understanding Blockchain Explorers](https://frankiefab.hashnode.dev/understanding-blockchain-explorers) 394 | - [Introduction to Blockchain Wallet](https://frankiefab.hashnode.dev/introduction-to-blockchain-wallet) 395 | - [How To Setup Metamask Account and Add Custom Blockchain Networks](https://frankiefab.hashnode.dev/how-to-setup-metamask-account-and-add-custom-blockchain-networks) 396 | - [A Guide To Web3 Domain Naming Services](https://frankiefab.hashnode.dev/a-guide-to-web3-domain-naming-services) 397 | - [20 Web3 Developer Communities You Should Join In 2023](https://frankiefab.hashnode.dev/20-web3-developer-communities-you-should-join-in-2023) 398 | - [The Future of Science: What You Need to Know About Decentralized Science (DeSci)](https://frankiefab.hashnode.dev/the-future-of-science-what-you-need-to-know-about-decentralized-science-desci) 399 | 400 | 401 |
402 | ↥ Back To Top 403 |
404 | 405 | ## Recommended Books 406 | 407 | - [Bitcoin White Paper: A Peer-to-Peer Electronic Cash System - Satoshi Nakamoto](https://bitcoin.org/bitcoin.pdf) 408 | 409 | - [Ethereum Yellow Paper: A Secure Decentralized Generalised Transaction Ledger - Dr. Gavin Wood](https://ethereum.github.io/yellowpaper/paper.pdf) 410 | 411 | - [Mastering Ethereum: Building Smart Contracts and DApps - Andreas Antonopoulos & Dr. Gavin Wood](https://github.com/ethereumbook/ethereumbook) 412 | 413 | - Mastering Ethereum: Implement Advanced Blockchain Applications - Merunas Grincalaitis 414 | 415 | - [Mastering Bitcoin: Programming the Open Blockchain - Andreas M. Antonopoulos](https://github.com/bitcoinbook/bitcoinbook) 416 | 417 | - The Infinite Machine: How an Army of Crypto-hackers Is Building the Next Internet with Ethereum - Camila Russo 418 | 419 | - Mastering Bitcoin: Unlocking Digital Cryptocurrencies - Andreas Antonopoulos 420 | 421 | - Programming Bitcoin: Learn How to Program Bitcoin from Scratch - Jimmy Song 422 | 423 | - Bank 4.0 - Brett King 424 | 425 | - Building Ethereum DApps: Decentralized Applications on the Ethereum Blockchain - Roberto Infante 426 | 427 | - [Mastering the Lightning Network: A Second Layer Blockchain Protocol for Instant Bitcoin Payments - Andreas Antonopoulos, Olaoluwa Osuntokun & Rene Pickhardt](https://github.com/lnbook/lnbook) 428 | 429 | - Seizing Opportunities in the Blockchain and Digital Currency Revolution: A Handbook for Enthusiasts - Chimezie Chuta 430 | 431 | - Ethereum Blockchain Developer Guide - Thomas Wiesner 432 | 433 | - Hands on Smart Contract Development with Solidity and Ethereum: From fundamentals to deployment - Randall Kanna & Dave Hoover 434 | 435 | - The Spatial Web: How Web 3.0 Will Connect Humans, Machines, and AI to Transform the World - Gabriel Rene 436 | 437 | - How to DeFi - Darren Lau et al 438 | 439 | - The Blockchain Developer: A practical guide - Elad Elrom 440 | 441 | - [Token Economy : How the Web3 reinvents the internet - Shermin Voshmgir](https://github.com/sherminvo/TokenEconomyBook/wiki) 442 | 443 |
444 | ↥ Back To Top 445 |
446 | --------------------------------------------------------------------------------