Hướng dẫn Ethereum - Cái nhìn sâu hơn về Ethereum!



Hướng dẫn về Ethereum này giải thích Ethereum từ quan điểm kiến ​​trúc và cũng như cách nó tạo nên nền tảng tốt nhất để xây dựng DAPPS và DAO.

Ethereum Hướng dẫn:

Trong blog Hướng dẫn Ethereum này, tôi sẽ giải thích hoạt động bên trong của kiến ​​trúc ethereum và tôi cũng sẽ chỉ cho bạn cách triển khai ethereum thông qua một cách đơn giản hợp đồng thông minh .

Tôi thấy Ethereum là một blockchain có thể lập trình sẽ phục vụ phần lớn các doanh nghiệp B2C trong tương lai. Ethereum cho phép các nhà phát triển tự do tạo ra các mô hình phức tạp để thực thi trên blockchain, thay vì giới hạn chúng trong các hoạt động được xác định trước như blockchain Bitcoin.





Với cách tiếp cận này, Ethereum đã tự biến mình thành một nền tảng cho rất nhiều ứng dụng và tổ chức phi tập trung, bao gồm, nhưng không giới hạn ở tiền điện tử.

Tôi sẽ đề cập đến nhiều chủ đề khác nhau một cách đầy đủ thông qua việc chạy blog “Hướng dẫn Ethereum” này. Các chủ đề này bao gồm:



Bạn có thể xem qua bản ghi Hướng dẫn Ethereum này, nơi những người hướng dẫn của chúng tôi đã giải thích các chủ đề một cách chi tiết với điều đó sẽ giúp bạn hiểu rõ hơn về khái niệm này.

Hướng dẫn sử dụng Ethereum | Hợp đồng thông minh Ethereum | Edureka

Hướng dẫn sử dụng Ethereum: Tài khoản Ethereum

Mạng Ethereum có hai loại tài khoản, đó là:



  • Tài khoản bên ngoài
  • Tài khoản hợp đồng

Các tài khoản này, cả Bên ngoài và Hợp đồng được gọi là “đối tượng trạng thái” và bao gồm “trạng thái” của mạng ethereum. Mọi đối tượng trạng thái đều có trạng thái được xác định rõ. Đối với tài khoản bên ngoài, trạng thái bao gồm số dư tài khoản trong khi đối với tài khoản hợp đồng, trạng thái được xác định bởi bộ nhớ và số dư.

Tôi sẽ đề cập đến các tài khoản bên ngoài chỉ đơn giản là tài khoản. Các tài khoản này được sở hữu bởi các tác nhân bên ngoài của mạng, bao gồm mọi người dùng thông thường, thợ đào, đại lý tự động, v.v.

Các tài khoản này thường được kiểm soát với sự trợ giúp của các thuật toán mật mã khóa công khai như RSA. Mục đích chính của tài khoản Bên ngoài là phục vụ như một phương tiện để người dùng tương tác với Ethereum Blockchain.

Mặt khác, tài khoản hợp đồng là một tập hợp mã nằm trên blockchain tại một địa chỉ cụ thể. Các hợp đồng này được gọi bởi các tài khoản bên ngoài hoặc bởi các hợp đồng khác thông qua một chức năng gọi hành động cụ thể. Các hợp đồng này được viết bằng các ngôn ngữ kịch bản cấp cao như Solidity, Serpent hoặc LLL. Mọi hợp đồng nằm trên chuỗi khối ethereum được lưu trữ ở một định dạng cụ thể gọi là mã bytecode EVM (Máy ảo Ethereum), đây là một định dạng nhị phân cụ thể của ethereum.

Sẽ chỉ công bằng khi tôi giải thích EVM bây giờ tôi đã nói với bạn về EVM-bytecode.

Hướng dẫn Ethereum: Máy ảo Ethereum

Ethereum, nói một cách dân dã, định nghĩa một tập hợp các giao thức tổng quát đã trở thành trụ cột của sự phát triển các ứng dụng phi tập trung. Trung tâm của vấn đề này nằm ở Máy ảo Ethereum. Hình bên dưới giải thích kiến ​​trúc:

ansible vs con rối vs đầu bếp

Kiến trúc Ethereum - Hướng dẫn Ethereum - Edureka

Điều quan trọng cần lưu ý là, Máy ảo Ethereum không chỉ hoàn toàn được đóng hộp cát mà còn hoàn toàn bị cô lập. Điều này có nghĩa là mã hiện đang chạy trên EVM không có quyền truy cập vào mạng hoặc hệ thống tệp và có thể truy cập ít vào các hợp đồng khác.

Bây giờ chúng ta đã hiểu cốt lõi của nền tảng, hãy cùng xem xét sâu hơn về các nút mạng.

Hướng dẫn Ethereum: Mạng Ethereum

Mạng ethereum là một mạng blockchain công cộng. Nó tạo thành nền tảng của tất cả các ứng dụng và tổ chức ngang hàng phi tập trung chạy trên mạng. Mạng bao gồm hai loại nút cụ thể là nút đầy đủ và nút nhẹ.

Các nút đầy đủ chứa toàn bộ lịch sử của các giao dịch kể từ khối gốc. Chúng là bằng chứng chính thức về tính toàn vẹn của mạng blockchain. Các nút đầy đủ phải chứa mỗi và mọi giao dịch đã được xác minh theo các quy tắc được thiết lập bởi các thông số kỹ thuật của Ethereum.

Các nút có trọng lượng nhẹ mặt khác chỉ chứa một tập hợp con của toàn bộ chuỗi khối. Các loại nút này chủ yếu được sử dụng trong ví điện tử có bản chất nhẹ và do đó toàn bộ chuỗi khối không thể được lưu trữ trên chúng. Ngược lại, các nút này không xác minh mọi khối hoặc giao dịch và có thể không có bản sao của trạng thái blockchain hiện tại. Họ dựa vào các nút đầy đủ để cung cấp cho họ những chi tiết còn thiếu (hoặc đơn giản là thiếu chức năng cụ thể). Ưu điểm của các nút sáng là chúng có thể bắt đầu và chạy nhanh hơn nhiều, có thể chạy trên các thiết bị hạn chế về tính toán / bộ nhớ hơn và không chiếm nhiều dung lượng lưu trữ.

Mọi blockchain công khai đều có một loại tiền tệ gắn liền với nó. Ethereum cũng không khác. Hãy cùng tìm hiểu sâu hơn về tiền điện tử của Ethereum.

sự khác biệt giữa nhanh nhẹn và devops

Hướng dẫn Ethereum: Ether và Gas

Ether là tên của loại tiền điện tử được sử dụng để thanh toán cho các giao dịch trên mạng ethereum. Ngoài việc thanh toán cho các giao dịch và dịch vụ chung, Ether cũng được sử dụng để mua Gas, sau đó được sử dụng để thanh toán cho việc tính toán trong EVM.

Ether là đơn vị đo lường và có rất nhiều mệnh giá giúp thanh toán chính xác cho các giao dịch và gas. Đơn vị cơ sở a.k.a có mệnh giá nhỏ nhất được gọi là Wei. Các mệnh giá cùng với tên cụ thể của chúng có thể được xem trong bảng dưới đây:

Các đơn vịGiá trị WeiWei
wei1 weimột
Kwei1e3 wei1.000
Mwei1e6 wei1.000.000
Đan1e9 wei1.000.000.000
microEther1e12 wei1.000.000.000.000
milliEther1e15 wei1.000.000.000.000.000
Ether1e18 wei1.000.000.000.000.000.000.000

Như đã thảo luận trước đó, chúng ta biết rằng EVM chịu trách nhiệm chạy mã được triển khai trên mạng của nó. Vậy điều gì ngăn ai đó chạy một vòng lặp vô hạn trên EVM và làm quá tải hoàn toàn bộ nhớ của nó? Đây là nơi xuất hiện khái niệm Khí.

Gas được sử dụng làm thước đo để thanh toán cho các tài nguyên tính toán trên mạng. Mỗi hợp đồng trên mạng đều có một lượng khí tối đa được đặt mà nó có thể sử dụng cho các tính toán của mình. Điều này được gọi là “ Giới hạn khí ”Các thuật ngữ khí đồng hành khác như sau:

  • Giá xăng : Đây là chi phí gas tính theo token như Ether và các mệnh giá khác của nó. Để ổn định giá trị của khí đốt, Giá khí đốt là một giá trị thả nổi sao cho nếu chi phí của mã thông báo hoặc tiền tệ biến động, Giá khí đốt sẽ thay đổi để giữ nguyên giá trị thực.
  • Phí xăng : Đây thực sự là lượng Gas cần phải trả để chạy một giao dịch hoặc chương trình cụ thể (được gọi là hợp đồng).

Do đó, nếu ai đó cố gắng chạy một đoạn mã chạy mãi mãi, hợp đồng cuối cùng sẽ vượt quá giới hạn gas của nó và toàn bộ giao dịch đã gọi hợp đồng sẽ được quay trở lại trạng thái trước đó.


Bây giờ chúng ta đã biết về tiền tệ, hãy cùng xem quy trình tạo ra đơn vị tiền tệ mới.

Hướng dẫn sử dụng Ethereum: Khai thác

Ethereum, giống như các công nghệ blockchain công khai khác đảm bảo an ninh thông qua mô hình dựa trên khuyến khích. Đây được gọi là cơ chế bằng chứng công việc. Hình dưới đây cho thấy cách khai thác ethereum hoạt động:

Từ góc độ kỹ thuật hơn, thuật toán bằng chứng công việc được sử dụng được gọi là Ethash, là một thuật toán băm lấy cảm hứng từ Thuật toán Dagger-Hashimoto.

Bây giờ chúng ta đã thấy kiến ​​trúc hoạt động của ethereum và thảo luận về các yếu tố thiết yếu của nó, hãy cùng xem một vấn đề trong thế giới thực và cách tiếp cận ethereum để giải quyết giống nhau.

Hướng dẫn Ethereum: Trường hợp sử dụng tài trợ đám đông phi tập trung

Báo cáo vấn đề : 'Ý tưởng' tốt không phải là tất cả mọi thứ trong thế giới ngày nay để bắt đầu một doanh nghiệp thành công. Cần rất nhiều kinh phí và nỗ lực để thực hiện một ý tưởng. Đây là nơi các tổ chức như “Kickstarter” xuất hiện. Họ cung cấp cho các dự án sự tiếp xúc với công chúng cần thiết để đóng góp cho dự án của họ để giúp dự án hoạt động, nhưng kiến ​​trúc tập trung của động cơ như vậy có mặt trái của nó, chủ yếu là ở cách xử lý phần thưởng. Vì cơ quan tập trung đưa ra tất cả các quyết định, các hệ thống có xu hướng tuân theo các quy tắc như:

  • bất kỳ ai đã bỏ lỡ thời hạn của chiến dịch sẽ không thể tham gia thêm nữa
  • bất kỳ nhà tài trợ nào đã thay đổi ý định đều không thể thoát ra

Tiếp cận :

Chúng tôi áp dụng một phương pháp phân quyền để giải quyết vấn đề như được giải thích trong hình bên dưới:

cấu trúc dữ liệu và thuật toán trong java

Giải pháp :

Đây là hợp đồng thông minh vững chắc cho tuyên bố vấn đề trên.

pragma solidity ^ 0.4.16 giao diện mã thông báo {chức năng chuyển giao (người nhận địa chỉ, số tiền uint)} hợp đồng Crowdsale {địa chỉ người thụ hưởng công khai tài trợ công cộng Số tiền công khai được nâng cấp theo thời hạn công khai mã thông báo giá công khai Mã thông báo phần thưởng (địa chỉ => uint256) fundGoalReached = false bool crowdsaleClosed = false event GoalReached (địa chỉ người nhận, uint totalAmountRaised) event FundTransfer (address backer, uint money, bool isContribution) / ** * Hàm tạo * * Thiết lập chủ sở hữu * / function Crowdsale (address ifSuccessfulSendTo // địa chỉ của chủ sở hữu khi tài trợ thành công. Tiền tài trợ thành công. + thời lượngInMinutes * giá 1 phút = etherCostOfEachToken * 1 ether cho kenReward = token (addressOfTokenUsedAsReward)} / ** * Hàm dự phòng * * Hàm không có tên là hàm mặc định được gọi bất cứ khi nào có bất kỳ ai gửi tiền vào hợp đồng * / function () pay {request (! crowdsaleClosed) uint amount = msg. giá trị cân bằngOf [msg.sender] + = số lượng moneyRaised + = số lượng tokenReward.transfer (msg.sender, số tiền / giá) FundTransfer (msg.sender, amount, true)} bổ ngữ afterDeadline () {if (now = fundGoal) {fundGoalReached = true GoalReached (người thụ hưởng, amountRaised)} crowdsaleClosed = true} / ** * Rút tiền * * Kiểm tra xem đã đạt được mục tiêu hoặc thời hạn chưa, và nếu đã đạt được mục tiêu tài trợ thì * gửi toàn bộ số tiền cho người thụ hưởng. Nếu không đạt được mục tiêu, mỗi người đóng góp có thể rút * số tiền họ đã đóng góp. * / function safeWithdrawal () afterDeadline {if (! fundGoalReached) {uint amount = balanceOf [msg.sender] balanceOf [msg.sender] = 0 if (amount> 0) {if (msg.sender.send (amount)) { FundTransfer (msg.sender, amount, false)} else {balanceOf [msg.sender] = amount}}} if (fundGoalReached && inheritary == msg.sender) {if (inheritary.send (amountRaised)) {FundTransfer (người thụ hưởng, moneyRaised, false)} else {// Nếu chúng tôi không gửi được tiền đến người thụ hưởng, hãy mở khóa số dư tài trợGoalReached = false}}}}

Trong trường hợp bạn quan tâm đến việc tìm hiểu sự vững chắc, hãy xem blog của chúng tôi trên , được sử dụng để phát triểncá nhân hóahợp đồng thông minh.

Nếu bạn muốn tìm hiểu về Blockchain và xây dựng sự nghiệp trong Công nghệ Blockchain, hãy xem đi kèm với đào tạo trực tiếp do người hướng dẫn và trải nghiệm dự án thực tế. Khóa đào tạo này sẽ giúp bạn hiểu sâu về Blockchain và giúp bạn thành thạo về chủ đề này.

Có một câu hỏi cho chúng tôi? Hãy đề cập đến nó trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.