├── .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 |
24 | This page requires JavaScript to work, please enable it or just read it on Here .
25 |
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 | 
2 |
3 | [](https://github.com/sindresorhus/awesome) [](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) [](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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
446 |
--------------------------------------------------------------------------------