در این مطلب، ویدئو قرارداد هوشمند – Web Frontend را با استفاده از Python Brownie react-mix ایجاد کنید با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:21:26
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,320 –> 00:00:03,120
سلام به همه، نام من mikio است
2
00:00:03,120 –> 00:00:05,759
در این آموزش، ما همچنان به
3
00:00:05,759 –> 00:00:08,080
بررسی عملکرد Brownie
4
00:00:08,080 –> 00:00:10,480
یک چارچوب توسعه قرارداد هوشمند و تست
5
00:00:10,480 –> 00:00:13,759
برای solidity و piper میپردازیم،
6
00:00:13,759 –> 00:00:16,400
ما یک قرارداد هوشمند ساده
7
00:00:16,400 –> 00:00:18,800
در آموزشهای قبلی ایجاد کردیم و آن
8
00:00:18,800 –> 00:00:21,199
را در شبکه تست robsten مستقر کردیم، لطفاً
9
00:00:21,199 –> 00:00:24,560
این آموزشها را بررسی کنید اگر شما این کار را نکردهاید، بنابراین
10
00:00:24,560 –> 00:00:26,800
قرارداد هوشمند ما اکنون در شبکه آزمایشی
11
00:00:26,800 –> 00:00:30,000
است، اما ما فقط از آن در کنسول brownie
12
00:00:30,000 –> 00:00:31,279
استفاده
13
00:00:31,279 –> 00:00:34,079
میکنیم، اگر ما یک برنامه وب جلویی داشته باشیم
14
00:00:34,079 –> 00:00:36,880
تا با آن تعامل داشته باشیم، حتی
15
00:00:36,880 –> 00:00:40,320
اگر براونی روی آن ندارید، مفید خواهد بود. یک
16
00:00:40,320 –> 00:00:42,559
براونی کامپیوتری یک سیستم قالب به نام
17
00:00:42,559 –> 00:00:45,360
مخلوط های براونی دارد که می توانیم از آن به عنوان
18
00:00:45,360 –> 00:00:47,440
نقطه شروع برای انواع خاصی از
19
00:00:47,440 –> 00:00:49,920
پروژه های قرارداد هوشمند استفاده کنیم، ترکیبی
20
00:00:49,920 –> 00:00:52,960
به نام react mix وجود دارد که
21
00:00:52,960 –> 00:00:55,680
همه چیزهایی را که برای شروع استفاده از react با پروژه براونی نیاز دارید ارائه می
22
00:00:55,680 –> 00:00:57,920
کند، بنابراین به نظر می
23
00:00:57,920 –> 00:01:00,320
رسد دقیقاً به چه چیزی نیاز داریم،
24
00:01:00,320 –> 00:01:03,120
بیایید ببینیم چگونه کار می کند
25
00:01:03,120 –> 00:01:05,920
زیرا مخلوط های براونی قالب هستند،
26
00:01:05,920 –> 00:01:08,320
احتمالاً بهترین کار استفاده از آنها هنگام شروع
27
00:01:08,320 –> 00:01:09,680
یک پروژه جدید است،
28
00:01:09,680 –> 00:01:12,799
اما استفاده از آن در شب نیز امکان پذیر است.
29
00:01:12,799 –> 00:01:15,600
اگر قبلاً یک قرارداد هوشمند داریم،
30
00:01:15,600 –> 00:01:17,360
فقط باید ساختار دایرکتوری
31
00:01:17,360 –> 00:01:20,720
و برخی فایلها را
32
00:01:20,720 –> 00:01:23,200
قبل از نصب هر چیزی تغییر دهیم، بیایید
33
00:01:23,200 –> 00:01:25,680
پروژه فعلی خود را مرور کنیم، ما از
34
00:01:25,680 –> 00:01:28,000
قرارداد هوشمند ذخیرهسازی ساده از اسناد solidity
35
00:01:28,000 –> 00:01:30,720
که در فهرست قراردادها ذخیره میشود، استفاده
36
00:01:30,720 –> 00:01:32,640
37
00:01:32,640 –> 00:01:35,360
میکنیم. تست واحد تست
38
00:01:35,360 –> 00:01:38,880
underscore storage.pi در دایرکتوری آزمایشی
39
00:01:38,880 –> 00:01:42,000
ما از اسکریپت deploy.spy در فهرست اسکریپت ها
40
00:01:42,000 –> 00:01:44,960
برای استقرار قرارداد هوشمند استفاده کردیم
41
00:01:44,960 –> 00:01:47,200
که فایل های مصنوع را در
42
00:01:47,200 –> 00:01:48,880
دایرکتوری ساخت ذخیره می کند،
43
00:01:48,880 –> 00:01:51,119
زیرا ما آن را در شبکه تست robson
44
00:01:51,119 –> 00:01:54,399
که دارای شناسه زنجیره ای 3 فایل آرتیفکت است مستقر کردیم.
45
00:01:54,399 –> 00:01:56,320
در سه زیرشاخه ذخیره شد
46
00:01:56,320 –> 00:01:58,640
و فایل map.json
47
00:01:58,640 –> 00:02:01,040
حاوی ورودی مربوطه بود، ما
48
00:02:01,040 –> 00:02:04,240
همچنین file.m را داریم که شامل
49
00:02:04,240 –> 00:02:06,719
متغیر محیطی web 3 underscore
50
00:02:06,719 –> 00:02:08,959
underscore underscore پروژه
51
00:02:08,959 –> 00:02:10,080
id
52
00:02:10,080 –> 00:02:12,640
و فایل پیکربندی brownie
53
00:02:12,640 –> 00:02:15,760
hyphen config.yml که حاوی یک
54
00:02:15,760 –> 00:02:16,640
55
00:02:16,640 –> 00:02:19,760
نقطه خط است. m colon dot m آنها برای
56
00:02:19,760 –> 00:02:22,000
استقرار قرارداد هوشمند به
57
00:02:22,000 –> 00:02:24,640
شبکه تست robsten استفاده میشوند
58
00:02:26,239 –> 00:02:28,319
که میتوانیم آن را نصب کنیم react mix توسط
59
00:02:28,319 –> 00:02:32,920
دستور brownie bake مانند
60
00:02:42,560 –> 00:02:44,959
این یک دایرکتوری جدید به نام
61
00:02:44,959 –> 00:02:49,239
react در دایرکتوری فعلی ایجاد می کند
62
00:02:50,319 –> 00:02:52,720
که شامل تمام دایرکتوری هایی
63
00:02:52,720 –> 00:02:55,519
است که برای شروع یک پروژه جدید در brownie نیاز
64
00:02:55,519 –> 00:02:57,360
داریم و سپس می توانیم وابستگی های لازم را
65
00:02:57,360 –> 00:03:01,400
مانند این
66
00:03:30,400 –> 00:03:33,360
پس از نصب react mix نصب کنیم. بیایید
67
00:03:33,360 –> 00:03:35,840
ببینیم که چگونه پیاده سازی می شود این کد
68
00:03:35,840 –> 00:03:37,920
بر اساس آخرین نسخه در
69
00:03:37,920 –> 00:03:41,760
زمان ضبط است که دسامبر 2021 است.
70
00:03:41,760 –> 00:03:44,239
بخش اصلی برنامه در
71
00:03:44,239 –> 00:03:47,239
app.js
72
00:03:47,360 –> 00:03:50,720
73
00:03:50,720 –> 00:03:53,439
74
00:03:53,439 –> 00:03:55,840
است. به شبکه اتریوم،
75
00:03:55,840 –> 00:03:58,080
دریافت اطلاعات حساب و
76
00:03:58,080 –> 00:04:01,040
بارگیری قراردادهای هوشمند، خط 24
77
00:04:01,040 –> 00:04:03,680
با فراخوانی getweb3.js یک نمونه
78
00:04:03,680 –> 00:04:06,680
79
00:04:09,280 –> 00:04:12,000
80
00:04:12,000 –> 00:04:15,439
web3 ایجاد
81
00:04:15,439 –> 00:04:18,720
82
00:04:20,079 –> 00:04:21,918
83
00:04:21,918 –> 00:04:24,639
می کند. window.ethereum
84
00:04:24,639 –> 00:04:26,960
به صفحه وب شی می کند و
85
00:04:26,960 –> 00:04:29,360
اطلاعات حساب و اتصال به
86
00:04:29,360 –> 00:04:31,360
شبکه اتریوم را ارائه می دهد که
87
00:04:31,360 –> 00:04:35,280
این کد از این عملکرد استفاده می کند. با توجه
88
00:04:35,840 –> 00:04:37,919
به کدها و سپس درخواست متاماسک برای
89
00:04:37,919 –> 00:04:41,440
ارائه اطلاعات حساب در 929
90
00:04:41,440 –> 00:04:44,080
مستندات متاماسک پیشنهاد می کند به
91
00:04:44,080 –> 00:04:47,120
جای فعال کردن نقطه اتریوم از درخواست نقطه اتریوم استفاده
92
00:04:47,120 –> 00:04:50,000
کنید، بنابراین احتمالاً باید
93
00:04:50,000 –> 00:04:52,160
آن را به روز کنیم
94
00:04:52,800 –> 00:04:55,520
و سپس اطلاعات حساب را در
95
00:04:55,520 –> 00:04:57,040
937
96
00:04:57,040 –> 00:05:00,080
و شناسه زنجیره را در خط 40 از
97
00:05:00,080 –> 00:05:03,080
متاماسک آن دریافت می
98
00:05:11,199 –> 00:05:13,199
کند. اطلاعات مربوط به
99
00:05:13,199 –> 00:05:15,759
قراردادهای هوشمند را در سال 1946
100
00:05:15,759 –> 00:05:18,240
با فراخوانی قراردادهای اولیه بار
101
00:05:18,240 –> 00:05:20,240
102
00:05:20,240 –> 00:05:23,759
تابع که از خط 50
103
00:05:23,759 –> 00:05:26,000
104
00:05:26,000 –> 00:05:27,120
105
00:05:27,120 –> 00:05:32,960
تا 82 تعریف
106
00:05:36,080 –> 00:05:38,160
شده است، بارگذاری
107
00:05:38,160 –> 00:05:40,240
می کند.
108
00:05:40,240 –> 00:05:43,600
آدرس قرارداد در فایل map.json
109
00:05:43,600 –> 00:05:47,120
در کلاینت ها src مصنوعات
110
00:05:47,120 –> 00:05:51,000
دایرکتوری استقرار در 991
111
00:06:00,720 –> 00:06:04,800
این فایل map.json توسط brownie ایجاد می شود
112
00:06:04,800 –> 00:06:07,199
زمانی که قرارداد هوشمند مستقر است در
113
00:06:07,199 –> 00:06:09,280
حال حاضر فایل در دایرکتوری پیش فرض ساخت اسلش وجود دارد،
114
00:06:09,280 –> 00:06:13,520
115
00:06:14,880 –> 00:06:17,840
بنابراین ما باید این را تغییر دهیم. مکان و
116
00:06:17,840 –> 00:06:20,080
سپس آرتیفکت های قرارداد هوشمند را
117
00:06:20,080 –> 00:06:23,520
برای آدرس در 900
118
00:06:23,520 –> 00:06:26,160
بارگذاری می کند و فایل json در حال حاضر در آن قرار دارد.
119
00:06:26,160 –> 00:06:29,039
در استقرار اسلش ساخت، بنابراین ما
120
00:06:29,039 –> 00:06:31,199
باید مکان این فایل را تغییر دهیم و
121
00:06:31,199 –> 00:06:32,479
122
00:06:32,479 –> 00:06:34,960
همچنین یک شی قرارداد هوشمند با استفاده از آدرس ایجاد می کند
123
00:06:34,960 –> 00:06:37,360
و api
124
00:06:37,360 –> 00:06:41,639
موجود در مصنوعات در 906
125
00:06:45,759 –> 00:06:48,560
این شی در حالت واکنش ذخیره می شود
126
00:06:48,560 –> 00:06:50,880
تا بتوانیم از آن برای تعامل با
127
00:06:50,880 –> 00:06:52,319
هوشمند استفاده کنیم. قرارداد
128
00:06:52,319 –> 00:06:53,680
به عنوان
129
00:06:53,680 –> 00:06:58,080
مثال خطوط 125 تا
130
00:06:58,080 –> 00:07:00,960
139 نحوه فراخوانی تابع set را در
131
00:07:00,960 –> 00:07:02,880
933 نشان می دهد
132
00:07:02,880 –> 00:07:07,560
و تابع get در 936
133
00:07:09,440 –> 00:07:11,759
کد نمونه برای
134
00:07:11,759 –> 00:07:14,319
قراردادهای هوشمند پیاده سازی شده در
135
00:07:14,319 –> 00:07:17,800
دایرکتوری قراردادهای react نوشته شده است
136
00:07:22,080 –> 00:07:23,759
اگرچه قراردادهای هوشمند
137
00:07:23,759 –> 00:07:26,240
اساساً مشابه قراردادهای ما هستند.
138
00:07:26,240 –> 00:07:28,400
باید کد را بهروزرسانی کنیم تا
139
00:07:28,400 –> 00:07:31,840
بتوانیم از قرارداد هوشمند خود استفاده
140
00:07:31,840 –> 00:07:33,280
کنیم، باید تغییرات زیر را
141
00:07:33,280 –> 00:07:36,240
انجام دهیم تا برنامه react بتواند از
142
00:07:36,240 –> 00:07:37,919
قرارداد هوشمند ما استفاده کند،
143
00:07:37,919 –> 00:07:40,080
ابتدا
144
00:07:40,080 –> 00:07:42,720
باید دایرکتوری مشتری را جابجا کنیم
145
00:07:42,720 –> 00:07:45,199
سپس مصنوعات قرارداد هوشمند را منتقل کنیم و سپس بهروزرسانی کنیم.
146
00:07:45,199 –> 00:07:48,720
فایل کانفیگ brownie iphoneconfig.yaml
147
00:07:48,720 –> 00:07:51,520
و در نهایت فایل برنامه
148
00:07:51,520 –> 00:07:53,919
apt.js را
149
00:07:53,919 –> 00:07:56,000
به روز می کند، قالب تمام دایرکتوری های لازم را ایجاد می کند
150
00:07:56,000 –> 00:07:58,720
تا بتوانیم یک هوشمند جدید راه اندازی کنیم.
151
00:07:58,720 –> 00:08:01,199
پروژه قرارداد در brownie
152
00:08:01,199 –> 00:08:04,240
اما ما قبلاً قرارداد هوشمند خود
153
00:08:04,240 –> 00:08:06,879
را داریم، بنابراین ما فقط به برنامه مشتری
154
00:08:06,879 –> 00:08:09,919
در دایرکتوری react client نیاز داریم، بنابراین بیایید
155
00:08:09,919 –> 00:08:12,479
دایرکتوری react client را در root project dx3 کپی کنیم،
156
00:08:12,479 –> 00:08:15,919
157
00:08:24,560 –> 00:08:26,879
این دایرکتوری کلاینت اساساً همان پوشه ای است
158
00:08:26,879 –> 00:08:29,280
که با دستور ایجاد iphone react hyphen app ایجاد شده است.
159
00:08:29,280 –> 00:08:31,919
با برخی از
160
00:08:31,919 –> 00:08:35,039
فایلهای خاص وب 3 مانند دریافت ethereum.js
161
00:08:35,039 –> 00:08:38,000
و دریافت web3.js و
162
00:08:38,000 –> 00:08:40,240
مصنوعات دایرکتوری که برای ذخیره
163
00:08:40,240 –> 00:08:43,279
مصنوعات قرارداد هوشمند است همانطور که قبلا دیدیم،
164
00:08:43,279 –> 00:08:47,120
میتوانیم دایرکتوری react را حذف کنیم
165
00:08:52,160 –> 00:08:54,399
، ساختار دایرکتوری پروژه اکنون به
166
00:08:54,399 –> 00:08:57,120
این شکل به نظر میرسد
167
00:09:00,320 –> 00:09:02,720
قرارداد هوشمند فعلی ما مصنوعات
168
00:09:02,720 –> 00:09:05,920
در دایرکتوری ساخت هستند
169
00:09:07,360 –> 00:09:10,160
اما همانطور که قبلاً دیدیم برنامه react
170
00:09:10,160 –> 00:09:12,640
باید به آرتیفکت ها دسترسی داشته باشد، بنابراین
171
00:09:12,640 –> 00:09:14,640
بیایید مصنوعات را از دایرکتوری ساخت
172
00:09:14,640 –> 00:09:17,920
به دایرکتوری slc مصنوعات کلاینت منتقل
173
00:09:17,920 –> 00:09:21,640
174
00:09:39,279 –> 00:09:41,839
کنیم، همچنین باید به Brownie اطلاع دهیم
175
00:09:41,839 –> 00:09:44,160
که اکنون از یک دایرکتوری جدید استفاده می کنیم. دایرکتوری برای
176
00:09:44,160 –> 00:09:46,560
مصنوعات در غیر این صورت brownie
177
00:09:46,560 –> 00:09:48,880
به استفاده از دایرکتوری ساخت ادامه می دهد، ما
178
00:09:48,880 –> 00:09:51,760
می توانیم با افزودن ورودی ساخت به
179
00:09:51,760 –> 00:09:54,399
پروژه این کار را انجام دهیم. بخش ساختار زیر خ