در این مطلب، ویدئو تعامل با قرارداد هوشمند اتریوم در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:13:46
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,320 –> 00:00:01,920
سلام به همه و به
2
00:00:01,920 –> 00:00:03,520
یادگیری نحوه
3
00:00:03,520 –> 00:00:05,920
ساخت و استقرار قرارداد هوشمند
4
00:00:05,920 –> 00:00:08,720
solidity در google collab
5
00:00:08,720 –> 00:00:10,240
در این سخنرانی می خواهیم یاد بگیریم که چگونه
6
00:00:10,240 –> 00:00:12,880
با قرارداد هوشمندی که
7
00:00:12,880 –> 00:00:14,719
ما ساخته ایم
8
00:00:14,719 –> 00:00:16,880
و قرارداد هوشمند در solidity ساخته شده است تعامل
9
00:00:16,880 –> 00:00:18,240
داشته باشیم. قرار است
10
00:00:18,240 –> 00:00:21,039
با آن در پایتون تعامل داشته باشیم، بنابراین ابتدا به پروژه همکاری خود با من بپیوندید،
11
00:00:21,039 –> 00:00:23,600
12
00:00:23,600 –> 00:00:25,840
ما میخواهیم web3 را با
13
00:00:25,840 –> 00:00:28,080
استفاده
14
00:00:28,080 –> 00:00:30,720
از شی وب 3 نمونهسازی کنیم و
15
00:00:30,720 –> 00:00:32,479
16
00:00:32,479 –> 00:00:35,760
ارائهدهنده آزمایشکننده web3.ethereum را به عنوان
17
00:00:35,760 –> 00:00:36,880
18
00:00:36,880 –> 00:00:37,920
ارائهدهنده گره خود فراخوانی
19
00:00:37,920 –> 00:00:39,840
20
00:00:39,840 –> 00:00:41,840
میکنیم. سادهترین ارائهدهنده برای
21
00:00:41,840 –> 00:00:42,879
آزمایش،
22
00:00:42,879 –> 00:00:45,200
من میخواهم حساب پیشفرض را
23
00:00:45,200 –> 00:00:47,719
بهعنوان فرستنده تنظیم کنم، بنابراین حساب
24
00:00:47,719 –> 00:00:49,280
web3.ethe.default
25
00:00:49,280 –> 00:00:50,320
26
00:00:50,320 –> 00:00:52,440
برای انجام تراکنشها
27
00:00:52,440 –> 00:00:55,520
web3.ethe.accounts در شاخص 0 خواهد بود. این
28
00:00:55,520 –> 00:00:57,280
حسابی است که اتر آزمایشی
29
00:00:57,280 –> 00:00:58,800
برای آن در دسترس است. شما چون ما از
30
00:00:58,800 –> 00:01:01,199
ارائهدهنده تستر اتریوم استفاده میکنیم، بنابراین
31
00:01:01,199 –> 00:01:03,359
شروع به کار بسیار آسان است و اتر آزمایشی دارد
32
00:01:03,359 –> 00:01:04,720
که میتوانید از آن برای انجام تراکنشها استفاده کنید
33
00:01:04,720 –> 00:01:06,640
34
00:01:06,640 –> 00:01:08,479
35
00:01:08,479 –> 00:01:11,200
36
00:01:11,200 –> 00:01:14,080
.
37
00:01:14,080 –> 00:01:17,360
او را قرارداد دوباره باید در abi برای قرارداد پاس کنم
38
00:01:17,360 –> 00:01:19,200
تا
39
00:01:19,200 –> 00:01:22,720
بتوانیم قرارداد abi را
40
00:01:22,720 –> 00:01:25,280
با این خط قبلی که
41
00:01:25,280 –> 00:01:27,600
رابط قرارداد داشتیم دریافت کنیم تا بتوانیم دوباره از آن استفاده کنیم
42
00:01:27,600 –> 00:01:29,520
43
00:01:29,520 –> 00:01:33,840
این بار در واقع آن را در abi ذخیره کنیم
44
00:01:34,000 –> 00:01:37,439
سپس همان چیزی برای کد بایت
45
00:01:37,439 –> 00:01:39,280
به ترتیب برای نمونه سازی یک قرارداد
46
00:01:39,280 –> 00:01:43,759
به abi نیاز دارید، شما همچنین به کد بایت نیاز دارید،
47
00:01:43,759 –> 00:01:47,119
بنابراین بیایید یک متغیر برای بایت کد ایجاد کنیم،
48
00:01:47,119 –> 00:01:49,920
این رابط قرارداد
49
00:01:49,920 –> 00:01:52,320
در کلید bin است
50
00:01:52,320 –> 00:01:54,560
، مطمئن شوید که آن ها در رشته ها هستند
51
00:01:54,560 –> 00:01:56,399
تا کد abi و
52
00:01:56,399 –> 00:01:58,719
کد بایت را به ما بدهد. میتواند
53
00:01:58,719 –> 00:02:01,280
قرارداد را
54
00:02:01,439 –> 00:02:02,880
درست نمونهسازی کند، بنابراین
55
00:02:02,880 –> 00:02:04,640
در مرحله بعد باید یک
56
00:02:04,640 –> 00:02:07,439
تراکنش برای استقرار قرارداد ارسال کنیم،
57
00:02:07,439 –> 00:02:12,400
بنابراین ابتدا میتوانیم hello world را بررسی کنیم،
58
00:02:12,400 –> 00:02:16,080
پس این یک قرارداد web3 عالی است،
59
00:02:16,080 –> 00:02:18,840
بعد میخواهم با
60
00:02:18,840 –> 00:02:20,640
helloworld.constructor تماس بگیرم، بنابراین من
61
00:02:20,640 –> 00:02:23,680
سازنده آن را صدا میکنم. که در حال نمونه
62
00:02:23,680 –> 00:02:25,760
سازی شی است
63
00:02:25,760 –> 00:02:27,280
و شما می توانید هر چند بار که بخواهید این را فراخوانی کنید
64
00:02:27,280 –> 00:02:29,280
تا قرارداد
65
00:02:29,280 –> 00:02:30,800
بارها و بارها در اشیاء مختلف نمونه سازی شود
66
00:02:30,800 –> 00:02:32,879
67
00:02:32,879 –> 00:02:34,959
و ما transact را فراخوانی می کنیم که
68
00:02:34,959 –> 00:02:38,239
به این معنی است که یک تراکنش را در
69
00:02:38,239 –> 00:02:39,440
بلوک انجام می دهیم kchain
70
00:02:39,440 –> 00:02:40,720
برای
71
00:02:40,720 –> 00:02:42,480
اجرای تابعی که میخواهیم اجرا کنیم، بنابراین
72
00:02:42,480 –> 00:02:43,920
در مورد ما تابعی که میخواهیم
73
00:02:43,920 –> 00:02:45,599
اجرا کنیم سازنده است،
74
00:02:45,599 –> 00:02:46,720
بنابراین
75
00:02:46,720 –> 00:02:48,720
اگر سازندهای را که
76
00:02:48,720 –> 00:02:50,720
قرارداد را اجرا میکند صدا کنیم،
77
00:02:50,720 –> 00:02:52,640
این تراکنش آن را به یک
78
00:02:52,640 –> 00:02:54,959
تراکنش رسمی برای بلاک چین تبدیل میکند، بلاکچین ما
79
00:02:54,959 –> 00:02:57,040
همان
80
00:02:57,040 –> 00:02:58,720
بلاک چین است. ارائهدهنده تستر اتریوم،
81
00:02:58,720 –> 00:03:01,760
بنابراین شبکه اصلی
82
00:03:01,760 –> 00:03:05,519
نیست، ارائهدهنده شبکه آزمایشی
83
00:03:05,519 –> 00:03:06,879
است، نتیجه این تابع
84
00:03:06,879 –> 00:03:10,080
در واقع هش تراکنش خواهد بود، بنابراین میتوانید
85
00:03:10,080 –> 00:03:12,080
86
00:03:12,080 –> 00:03:14,879
هش تراکنش خود را چاپ کنید
87
00:03:14,879 –> 00:03:16,400
، سلول کد را اجرا میکنم و
88
00:03:16,400 –> 00:03:19,360
دریافت میکنیم در نتیجه، هش
89
00:03:19,360 –> 00:03:22,159
درست است، پس از استخراج تراکنش،
90
00:03:22,159 –> 00:03:25,200
میتوانیم رسید تراکنش را دریافت کنیم،
91
00:03:25,200 –> 00:03:28,560
بنابراین من میخواهم با web3.ethe.wait تماس بگیرم
92
00:03:28,560 –> 00:03:29,440
تا
93
00:03:29,440 –> 00:03:32,400
رسید تراکنش در
94
00:03:32,400 –> 00:03:34,720
95
00:03:34,720 –> 00:03:36,400
96
00:03:36,400 –> 00:03:38,720
97
00:03:38,720 –> 00:03:41,519
تراکنش ارسال شود.
98
00:03:41,519 –> 00:03:42,480
درهم
99
00:03:42,480 –> 00:03:44,319
کردن نتیجه،
100
00:03:44,319 –> 00:03:47,599
رسید زیرخط تراکنش
101
00:03:47,599 –> 00:03:49,920
کاملاً درست است، بنابراین این همان
102
00:03:49,920 –> 00:03:51,840
چیزی است که ما میخواهیم رسید تراکنش را
103
00:03:51,840 –> 00:03:53,280
دریافت
104
00:03:53,280 –> 00:03:56,080
کنیم که میتوانیم آن را چاپ کنیم، بنابراین اجازه دهید این سلول کد را اجرا کنیم.
105
00:03:56,080 –> 00:03:57,280
106
00:03:57,280 –> 00:03:58,480
بسیار خوب، بیایید ببینیم من فقط می خواهم
107
00:03:58,480 –> 00:04:01,519
tx هش را حذف کنم و در هش تراکنش را پاس
108
00:04:01,519 –> 00:04:03,120
کنم، خب،
109
00:04:03,120 –> 00:04:05,439
اکنون رسید تراکنش خود را
110
00:04:05,439 –> 00:04:07,760
داریم، بنابراین یک فرهنگ لغت ویژگی داریم
111
00:04:07,760 –> 00:04:10,319
که حاوی بلوک هش بایت های هگز است،
112
00:04:10,319 –> 00:04:12,159
بنابراین می توانید تابع چاپ را حذف کنید.
113
00:04:12,159 –> 00:04:15,360
واضح تر ببینید
114
00:04:15,360 –> 00:04:17,279
خوب است، بنابراین اکنون ما فرهنگ لغتی داریم که
115
00:04:17,279 –> 00:04:19,440
حاوی اطلاعات مربوط به
116
00:04:19,440 –> 00:04:21,440
تراکنش
117
00:04:21,440 –> 00:04:24,320
است. شماره بلوک هش بلوک آدرس قرارداد
118
00:04:24,320 –> 00:04:28,240
تجمعی گاز استفاده شده قیمت گاز موثر
119
00:04:28,240 –> 00:04:31,360
از چه آدرسی که گاز استفاده کرده است گزارش ها
120
00:04:31,360 –> 00:04:34,639
وضعیت وضعیت به چه
121
00:04:34,639 –> 00:04:37,280
کسی هش تراکنش است. شاخص تراکنش
122
00:04:37,280 –> 00:04:38,800
و نوع آن
123
00:04:38,800 –> 00:04:40,560
خوب است، بنابراین رسید
124
00:04:40,560 –> 00:04:42,400
تراکنش است،
125
00:04:42,400 –> 00:04:43,680
مانند زمانی که چیزی را از فروشگاه میخرید،
126
00:04:43,680 –> 00:04:45,040
همان رسیدی را در اینجا
127
00:04:45,040 –> 00:04:46,960
هنگام خرید تراکنش دریافت میکنید،
128
00:04:46,960 –> 00:04:50,000
جزئیات
129
00:04:50,000 –> 00:04:52,000
معامله را کاملاً بهخوبی دریافت میکنید، بنابراین اکنون
130
00:04:52,000 –> 00:04:54,320
ما توانستهایم
131
00:04:54,320 –> 00:04:57,040
قرارداد را
132
00:04:57,040 –> 00:04:58,320
در مرحله بعدی قرار
133
00:04:58,320 –> 00:05:00,400
دهید، بیایید ادامه دهیم و از
134
00:05:00,400 –> 00:05:02,720
آدرس آن تراکنش
135
00:05:02,720 –> 00:05:03,680
برای
136
00:05:03,680 –> 00:05:05,440
دریافت قرارداد استفاده کنیم،
137
00:05:05,440 –> 00:05:07,280
بنابراین من می خواهم با استفاده از وب، قرارداد
138
00:05:07,280 –> 00:05:09,120
hello world خود را دریافت کنم.
139
00:05:09,120 –> 00:05:10,639
140
00:05:10,639 –> 00:05:12,680
141
00:05:12,680 –> 00:05:14,479
3.ethe.contract دوباره اما این بار آدرسی را می گذرانم
142
00:05:14,479 –> 00:05:16,479
143
00:05:16,479 –> 00:05:19,360
که می خواهم از آدرس قرارداد نقطه رسید تراکنش استفاده کنم
144
00:05:19,360 –> 00:05:21,600
145
00:05:21,600 –> 00:05:23,280
که یک ویژگی در
146
00:05:23,280 –> 00:05:25,199
فرهنگ لغت است،
147
00:05:25,199 –> 00:05:27,360
اوه نام کلید با ویژگی
148
00:05:27,360 –> 00:05:29,759
به عنوان مقدار
149
00:05:29,759 –> 00:05:31,199
okay است و سپس
150
00:05:31,199 –> 00:05:34,720
ما قرار است در abi نیز بگذرد
151
00:05:34,720 –> 00:05:36,639
تا بدین ترتیب میتوانید قراردادی را دریافت کنید،
152
00:05:36,639 –> 00:05:39,199
سپس میتوانید قرارداد hello world را چاپ
153
00:05:39,199 –> 00:05:41,440
کنید تا نتایج را ببینید،
154
00:05:41,440 –> 00:05:44,720
بنابراین ما فقط این شی قرارداد را به
155
00:05:44,720 –> 00:05:48,000
درستی دریافت میکنیم، سپس میتوانیم توابع را
156
00:05:48,000 –> 00:05:50,800
از این نمونه قرارداد فراخوانی
157
00:05:50,800 –> 00:05:52,960
کنیم تا بتوانیم قرارداد hello world را
158
00:05:52,960 –> 00:05:56,160
بگیرید و چیزی مانند پیام بگویید
159
00:05:56,160 –> 00:05:58,400
و این سلول را اجرا
160
00:05:58,400 –> 00:06:00,800
کنید، فقط باید تابع موجود باشد
161
00:06:00,800 –> 00:06:03,039
تا بتوانید پشتیبان بگیرید و مطمئن شوید
162
00:06:03,039 –> 00:06:04,240
که
163
00:06:04,240 –> 00:06:06,400
عملکرد شما وجود دارد، بنابراین در مورد
164
00:06:06,400 –> 00:06:08,400
ما سعی می کنیم بگوییم
165
00:06:08,400 –> 00:06:10,160
پیام
166
00:06:10,160 –> 00:06:13,039
خوب است. که باید وجود داشته باشد، پس مراقب
167
00:06:13,039 –> 00:06:15,280
باشید که
168
00:06:15,280 –> 00:06:16,080
169
00:06:16,080 –> 00:06:17,360
در واقع نمی توانید مستقیماً از آن عبور
170
00:06:17,360 –> 00:06:18,639
کنید، باید
171
00:06:18,639 –> 00:06:20,720
از توابع عبور کنید و سپس call
172
00:06:20,720 –> 00:06:23,600
message را بزنید و سپس call
173
00:06:23,600 –> 00:06:25,199
okay را نیز اضافه کنید تا تابع فراخوانی شود و
174
00:06:25,199 –> 00:06:27,759
hello world را به عنوان دریافت کنیم. نتیجه
175
00:06:27,759 –> 00:06:29,360
اکنون اگر بخواهیم این را تغییر دهیم چه می شود
176
00:06:29,360 –> 00:06:31,520
زیرا همانطور که از قراردادمان به یاد می آورید
177
00:06:31,520 –> 00:06:34,479
ما پیام گفته ایم اما همچنین
178
00:06:34,479 –> 00:06:36,400
پیام تنظیم کرده ایم بنابراین اگر بخواهیم
179
00:06:36,400 –> 00:06:39,039
پیام را تغییر دهیم
180
00:06:39,039 –> 00:06:41,759
خوب است برای اینکه شما باید یک
181
00:06:41,759 –> 00:06:43,120
تراکنش را انجام دهید
182
00:06:43,120 –> 00:06:45,520
زیرا اگر من فقط
183
00:06:45,520 –> 00:06:47,199
پیام تنظیم تماس
184
00:06:47,199 –> 00:06:50,319
و ارسال یک پیام جدید در اینجا مانند
185
00:06:50,319 –> 00:06:52,639
خرید میتوانم این سلول کد را اجرا کنم، اما اگر
186
00:06:52,639 –> 00:06:54,639
دوباره با پیام تماس بگیرم
187
00:06:54,63