Bắt đầu với Ethereum (có liên kết đến các công cụ khác nhau)
秦晓峰
@QinXiaofeng888
2019-02-14 01:00
本文约12226字,阅读全文需要约49分钟
Bài viết này sẽ tập trung vào Ethereum, giới thiệu kiến ​​thức cơ bản có liên quan, cung cấp nhiều công cụ truy vấn và liên kết cộng đồng, đồng thời giúp bạn tìm hiểu sâu hơn và phát triển trê

Lưu ý của biên tập viên: Kể từ khi ra đời vào năm 2008, chuỗi khối đã trải qua hơn mười năm thăng trầm và đã tạo ra nhiều chuỗi công khai như Bitcoin, Ethereum và EOS. Ethereum, ra đời vào năm 2014, tính đến hôm nay đã trải qua 5 năm tròn. Bài viết này sẽ tập trung vào Ethereum, giới thiệu kiến ​​thức cơ bản có liên quan, cung cấp nhiều công cụ truy vấn và liên kết cộng đồng, đồng thời giúp bạn tìm hiểu sâu hơn và phát triển trên Ethereum.

Biên tập | Lộ Hiểu Minh

Biên tập | Lộ Hiểu Minh

Mục lục của Hướng dẫn Bắt đầu này như sau:

  • 1. Ethereum là gì?

  • chữ

  • 3. Nút, mạng, tài khoản và ví

  • 4. Khai thác Ethereum

  • 5. Hợp đồng thông minh và phát triển DApp

  • 6. Lịch sử phát triển của Ethereum

  • 7. Quản trị cộng đồng Ethereum: Giới thiệu về Tổ chức, Cộng đồng và Người đóng góp

  • 8. Những người khác

Trước khi giới thiệu Ethereum, nếu bạn chưa biết về blockchain và Bitcoin, bạn có thể đọc"100 câu hỏi về chuỗi khối""100 câu hỏi về lớp học blockchain"Hoặc xem video này"nguyên tắc bitcoin》。

tiêu đề phụ

1. Ethereum là gì?

Ethereum là gì? dựa theoSách trắng EthereumĐịnh nghĩa, Ethereum là một nền tảng chuỗi khối mới và mở cho phép mọi người xây dựng và sử dụng các ứng dụng phi tập trung chạy trên công nghệ chuỗi khối; được tạo bởi nhiều người để cho phép người dùng tạo các hoạt động phức tạp theo ý muốn; cốt lõi của Ethereum là Máy ảo Ethereum ("EVM")/hợp đồng thông minh, có thể thực thi mã tùy ý. Theo thuật ngữ khoa học máy tính, máy ảo của Ethereum là "Turing hoàn thành”。

Ethereum chính xác là gì? Bài đọc được đề xuất bởi người sáng lập Ethereum Vitalik Buterin"Ethereum là gì"

Ngoài ra, chúng tôi khuyên bạn nên đọcSách trắng Ethereum, mặc dù bạn có thể không hiểu hết về nó, nhưng bạn có thể nắm bắt Ethereum từ một chiều hướng cao hơn. Ngoài giấy trắng, Ethereum còn có giấy vàng và giấy tím.

Về Ethereum, có một số thư viện Ethereum trong và ngoài nước để tham khảo, Odaily khuyến nghị:"Tài liệu chính thức của Trung Quốc về Ethereum"phiên bản tiếng Anhethdocsphiên bản tiếng Anh; Nếu bạn không muốn đọc phiên bản văn bản, video cũng là một lựa chọn tốt, tôi khuyên bạn nên "tiêu đề phụ》。

2. Mã thông báo Ethereum

Vào tháng 1 năm 2014, Vitalik đã chính thức công bố Ethereum tại Hội nghị Bitcoin Bắc Mỹ ở Miami, Florida, Hoa Kỳ.

Vào tháng 6 cùng năm, Quỹ Ethereum (Stiftung Ethereum) được thành lập tại Zug, Thụy Sĩ và trong vòng 42 ngày tiếp theo, nó đã phân phối lô Ethereum được bán trước công khai đầu tiên, thu được lợi nhuận ròng là 31.591 bitcoin, trị giá 18,4 triệu đô la Mỹ vào thời điểm đó, khoảng 60,1 triệu ETH. Tiền thu được từ việc bán ban đầu được sử dụng để thanh toán các khoản nợ hợp pháp ngày càng tăng, thưởng cho các nhà phát triển vì họ đã làm việc chăm chỉ trong nhiều tháng và tài trợ cho việc tiếp tục phát triển ethereum.

Token là gì?

Mã thông báo Ethereum là gì? Nói một cách đơn giản, mã thông báo Ethereum là tài sản kỹ thuật số được xây dựng trên chuỗi khối Ethereum. Nếu chuỗi khối Ethereum được coi là một chương trình, thì ở một mức độ nào đó, mã thông báo là tiền tệ/điểm lưu hành trong chương trình.

Có hai loại mã thông báo trên Ethereum: một là mã thông báo gốc của chuỗi khối Ethereum, Ether (ETH); loại còn lại là mã thông báo (chẳng hạn như BNB) được phát triển và phát hành theo các công cụ và tiêu chuẩn do Ethereum cung cấp. Sự khác biệt trực quan nhất giữa hai loại nằm ở kịch bản lưu thông. ETH là tiền tệ của mạng Ethereum và mọi hoạt động/giao dịch trên chuỗi cần phải trả phí gas (hơi giống phí xử lý); BNB và các mã thông báo khác thì không thể trả tiền nhiên liệu, chỉ ETH mới có thể. Trên các sàn giao dịch ngoài chuỗi như Binance, Huobi và OKex, các sàn giao dịch phi tập trung trên chuỗi hoặc P2P ngoại tuyến, các mã thông báo như BNB cũng có thể được đổi thành ETH ở một tỷ lệ nhất định.

Tổng số lượng phát hành và lưu thông mã thông báo có thể cố định hoặc không, ví dụ: ETH đã không ngừng phát hành thêm mã thông báo, mặc dù Vitalik đã đề xuất giới hạn nguồn cung cấp ETH ở mức 120 triệu vào tháng 4 năm ngoái.

Token có thể được sử dụng để làm gì? Các thuộc tính và chức năng của mỗi mã thông báo phải tuân thủ các ràng buộc về mục đích sử dụng của nó, chẳng hạn như trả tiền để truy cập vào mạng, thúc đẩy hợp đồng thông minh, khuyến khích người dùng sử dụng một giao thức nhất định hoặc đóng vai trò là nhiên liệu cho các hoạt động sinh thái (tức là Gas, giải thích bên dưới). Tất nhiên, cũng có một số mã thông báo không có công dụng thực tế và không hoàn toàn cần thiết trong hệ sinh thái của nó, phát hành mã thông báo chỉ là phương tiện để dự án thu tiền.

đề nghị đọc

đề nghị đọc"Tại sao Token tồn tại và Cách sử dụng chúng"Hướng dẫn dành cho người mới bắt đầu về Ethereum Tokensvà người sáng lập EthereumBài viết của V God "Giới thiệu về mô hình bán mã thông báo"

mã thông báo tiêu chuẩn

Hiện tại, có hơn 1.000 loại mã thông báo trên Ethereum và các tiêu chuẩn phát hành mã thông báo khác nhau cũng khác nhau. Phổ biến nhất là mã thông báo ERC-20, đây cũng là giao diện tiêu chuẩn cho mỗi mã thông báo. Các tiêu chuẩn khác nhau có các đặc điểm khác nhau.Ví dụ: mã thông báo ERC-20 có thể tiếp tục được phân tách, tương tự như tiền tệ hơn; nhưng ERC-721, tức là mã thông báo không đồng nhất (NFT), thì không thể. Hiện tại ERC-20 là tiêu chuẩn được sử dụng bởi hầu hết các dự án để phát hành tiền xu.

Tuy nhiên, tiêu chuẩn mã thông báo ERC-20 có khả năng làm mất tiền của người dùng cuối.Vấn đề chính là nó không thể xử lý các giao dịch thu nhập ERC-20 được thực hiện bởi chức năng chuyển mã thông báo ERC-20 và ERC-233 ra đời . ERC-233 định nghĩa một chức năng tiêu chuẩn ngăn việc vô tình gửi mã thông báo đến các hợp đồng (không hỗ trợ tiêu chuẩn), đồng thời cho phép chuyển mã thông báo hoạt động giống như chuyển Ethereum.

Ngoài ra, có 23 tiêu chuẩn phát hành mã thông báo khác nhau như ERC-777 (tiêu chuẩn mã thông báo dựa trên nhà điều hành) và ERC-809 (tiêu chuẩn cho thuê mã thông báo không đồng nhất). Để biết thêm, bạn có thể đọcDanh sách chi tiết về các tiêu chuẩn mã thông báo Ethereum

Đề xuất công cụ truy vấn

Về mã thông báo ERC-20, có một trang web đặc biệt để kiểm tra, đây làethplorer——Nó có thể truy vấn mã thông báo và so sánh xếp hạng mã thông báo trên Ethereum. Bạn có biết mã thông báo nào có giá trị thị trường cao nhất ngoài ETH trong hệ sinh thái Ethereum không? Trang web này có thể cung cấp cho bạn câu trả lời. Ngoài ra, nó còn có các chức năng khác bao gồm ví tiền, yêu cầu ICO (có tính phí).

Đối với những người tham gia thị trường thứ cấp, đặc biệt là những nhà đầu tư đã tham gia nhiều đợt phát hành riêng lẻ, điều đáng sợ nhất là bên dự án sẽ rút tiền và bỏ chạy.dappcapitulationTrình duyệt không chỉ có thể xem số dư tài khoản của "cá voi khổng lồ" tạo Ethereum, mà còn có thể xem số dư tài khoản của từng bên dự án trên Ethereum để ngăn chặn bên dự án rút tiền và bỏ chạy.

Cuối cùng, tôi đề xuất một trình duyệt có thể xem các khoản chuyển khoản lớn trên chuỗi Ethereum——Tokenviewtiêu đề phụ

3. Nút, mạng, tài khoản và ví

nút

Một nút có thể được hiểu đơn giản là một máy tính/máy chủ chạy ứng dụng khách Ethereum và tất cả các nút Ethereum được kết nối thông qua mạng để tạo thành mạng chính. Theo các loại máy khách đang chạy khác nhau, nó có thể được chia thành các nút đầy đủ và các nút nhẹ. Các nút nhẹ cần lấy dữ liệu mới nhất và bắt đầu giao dịch bằng cách kết nối với nút chính.

Về sự khác biệt giữa các nút đầy đủ, nút nhẹ và nút lưu trữ, nên đọc"Chi phí vận hành nút Ethereum" được biên soạn bởi Odaily; Để xem từng nút, nên sử dụng trình duyệt nútethernodes

Tài khoản và ví

Tài khoản Ethereum có thể được sử dụng để lưu trữ tất cả các mã thông báo Ethereum (không chỉ ETH) và không cần gas để tạo chúng (việc tạo tài khoản EOS tốn một lượng gas nhỏ). Tài khoản là một cặp địa chỉ khóa riêng và khóa chung. Khóa công khai có thể được hiểu là địa chỉ tài khoản và khóa riêng có thể được hiểu là mật khẩu và khóa của tài khoản.

Địa chỉ chuỗi khối dựa trên thuật toán mã hóa bất đối xứng để tạo khóa riêng và khóa chung, và địa chỉ được lấy từ khóa chung theo một loạt phép tính. Bất kỳ ai cũng có thể tạo một số lượng lớn khóa riêng, khóa chung và địa chỉ, nhưng việc tính toán chúng theo cách thủ công là rất phi thực tế. Ví blockchain là một công cụ giúp chúng tôi tạo khóa riêng, khóa chung và tạo sự tuân thủ với một đặc điểm kỹ thuật chuỗi công khai nhất định. Mời các bạn tham khảo cách tính cụ thể"Ví Blockchain là gì"

Ví chuỗi khối có thể được chia thành các loại khác nhau như ví nóng, ví lạnh và ví ký quỹ. Các ví khác nhau có các thuộc tính, bảo mật và dễ sử dụng khác nhau. Trong số đó, ví nóng dễ sử dụng hơn, nhưng do kết nối mạng nên riêng tư chìa khóa rất dễ bị đánh cắp. ;Ví lạnh thực chất là một công cụ lưu trữ khóa riêng có tính bảo mật cao, khóa riêng của ví ký quỹ được ký quỹ bởi người điều hành. Sự khác biệt cụ thể, nên đọc"Phân loại ví tiền kỹ thuật số chuỗi khối"

Ngoài ra còn có nhiều loại ứng dụng khách ví Ethereum, nên đọc"Giới thiệu cơ bản về 6 ví Ethereum (ETH)"

  • Ví Ethereum chính thức: Trình duyệt Mist. Mist là một ví đầy đủ nút (theo thuật ngữ của giáo dân, ví đầy đủ nút là ví đồng bộ hóa tất cả thông tin khối Ethereum). Tức là sau khi mở ví, máy tính sẽ tự động đồng bộ hóa tất cả thông tin khối Ethereum. Ưu điểm là bảo mật cao, không cần bắt đầu giao dịch thông qua bên thứ ba và không thể kiểm tra số dư địa chỉ trước khi nút được đồng bộ hóa; nhược điểm là không thể điều chỉnh giá gas, yêu cầu mạng cao và một nút đầy đủ cần phải được kết nối để bắt đầu một giao dịch.

  • Ví chẵn lẻ: Một ví được phát triển bởi một số thành viên của Ethereum Foundation ban đầu. Mạnh mẽ và cũng là một ví đầy đủ nút. Ưu điểm là nó có mức độ bảo mật cao và không cần bắt đầu giao dịch thông qua bên thứ ba, nhược điểm là nó có yêu cầu cao về mạng và cần kết nối với các nút để bắt đầu giao dịch.

  • imToken: ví di động, dễ vận hành, khóa riêng của ví được tạo trên imToken được lưu trữ cục bộ trên điện thoại di động và nền tảng không có bản sao lưu.

Mainnet và Testnet

Mainnet và Testnet

Ethereum luôn có hai mạng -Mainnet và Testnet. Mạng chính thường là mạng mặc định cho tất cả các máy khách; cái gọi là mạng thử nghiệm được sử dụng để mô phỏng hành vi của mạng chính và có chức năng giống như mạng chính, vì vậy các nhà phát triển có thể phát triển và thử nghiệm các hợp đồng thông minh của riêng họ, phát hành tiền, v.v. trên mạng thử nghiệm. Như một đánh giá môi trường trước khi chuỗi. Ngược lại, khi mạng chính thực hiện bất kỳ thay đổi lớn nào đối với giao thức Ethereum, thử nghiệm của nó chủ yếu được thực hiện trên các mạng thử nghiệm này.

Ba testnet được sử dụng phổ biến nhất là Ropsten, Kovan và Rinkeby.

  • Ropsten: Chỉ hỗ trợ geth client, một chuỗi khối POW, rất giống với mạng chính Ethereum, nhưng do số lượng tính toán thấp nên dễ bị tấn công DDOS. Trong quá khứ, nó đã bị tấn công bởi thư rác và có nhiều vấn đề.

  • Kovan: Chỉ hỗ trợ ứng dụng khách Parity; không thể khai thác chuỗi khối POA.

  • Rinkeby: Hỗ trợ khách hàng geth và Parity; chuỗi khối POA không thể khai thác. Mặc dù ít tốn kém hơn về mặt tính toán, nhưng nó có khả năng phục hồi tốt hơn trước các tác nhân độc hại.

Đối với môi trường thử nghiệm đang được phát triển, chuỗi thử nghiệm Rinkeby hoặc KoVan được khuyến nghị. Điều này là do cơ chế đồng thuận POA bằng chứng công việc mà họ sử dụng, đảm bảo rằng các giao dịch và khối được tạo một cách nhất quán và kịp thời.

Để biết thêm thông tin về mainnet và testnet, bạn nên đọc "Mạng thử nghiệm Ethereum tóm tắt testNet》。

hoặckuberneteshoặcdocker-compose, quy trình thi công cụ thể có thể tham khảotiêu đề phụ

khai thác mỏ

khai thác mỏ

Như đã đề cập ở trên, một cách quan trọng để nhận được mã thông báo là thông qua khai thác. "Khai thác" thực sự là một quá trình tăng cung tiền. Về khai thác là gì, bạn có thể đọc chuyên mục của OdailyKhai thác tiền kỹ thuật số là gì?

Bản chất của khai thác là cạnh tranh để giành quyền ghi sổ. Những người khai thác đạt được một vòng quyền ghi sổ nhất định sẽ nhận được: phần thưởng khối, bao gồm 3 đồng ether (sẽ giảm xuống còn 2 sau hard fork của Constantinople); Phí gas được trả bởi người khởi xướng giao dịch; được gọi làchú khốichặn, bạn có thể nhận được 1/32 phần thưởng khai thác.

Vì Ethereum áp dụng cơ chế đồng thuận PoW (Proof of Work), nên những người khai thác tính toán (thực ra là đoán ngẫu nhiên) một số ngẫu nhiên cụ thể có thể có quyền ghi sổ trong vòng này. kế toán đúng.Bởi vì có thể tính (đoán) nhiều lần hơn trong một giây. Cách điều chỉnh độ khó một cách linh hoạt là toàn bộ mạng sẽ tạo ra một khối cứ sau 15 giây.

Ethereum tương tự như Bitcoin theo nhiều cách, nhưng có một số điểm khác biệt - khối Ethereum không chỉ chứa danh sách giao dịch mà còn trạng thái mới nhất, số khối và độ khó cũng được lưu trữ trong khối.

Thuật toán PoW được Ethereum sử dụng có tên là Ethash (một phiên bản cải tiến của thuật toán Dagger-Hashimoto). Bằng chứng khối lượng công việc của Ethash là bộ nhớ cứng, giúp nó chống lại ASIC.

Gas

Mọi bước tính toán được thực hiện trên Ethereum đều tốn tiền và tiền ở đây là xăng. Mục đích thiết kế của Gas trước tiên là để tránh các hoạt động cồng kềnh chiếm nhiều tài nguyên hạn chế hơn và làm tắc nghẽn mạng; thứ hai là để tránh các cuộc tấn công nguy hiểm trên toàn bộ mạng; thứ ba là cho phép các thợ mỏ kế toán thu được những lợi ích nhất định.

Giá của Gas được xác định bởi thị trường, tương tự như cơ chế phí giao dịch của Bitcoin. Nếu giá gas của bạn cao, nút sẽ ưu tiên giao dịch của bạn.

Mô tả hình ảnh

(dữ liệu từ etherchain.org)

Nhìn chung, "tính toán và lưu trữ" trên Ethereum đắt hơn so với thực hiện trong môi trường truyền thống; "trạng thái đọc" là miễn phí trên mạng Ethereum, chỉ có "trạng thái viết" là tính phí. Về Gas, để biết thêm, nên đọc"Tính toán chi phí hợp đồng Ethereum"

chú khối

Trong giao thức Bitcoin, một khối được cho là "mồ côi" nếu nó không phải là một phần của chuỗi dài nhất. Nó cũng hợp pháp, nhưng được phát hiện muộn hơn một chút hoặc đường truyền mạng chậm hơn một chút và nó không phải là một phần của chuỗi dài nhất. Trong Bitcoin, các khối mồ côi là vô nghĩa và sẽ bị loại bỏ sau đó, đồng thời người khai thác tìm thấy khối mồ côi sẽ không nhận được phần thưởng liên quan đến khai thác.

Tuy nhiên, giao thức GHOST của Ethereum không tin rằng các khối mồ côi là vô giá trị, nhưng thưởng cho những người khai thác tìm thấy các khối mồ côi. Trong Ethereum, các khối mồ côi được gọi là "khối chú" và chúng có thể đóng góp vào tính bảo mật của chuỗi chính.

Bằng cách khuyến khích tham chiếu đến các khối chú, việc tham chiếu đến chuỗi chính có thể nhận được nhiều đảm bảo an ninh hơn (vì bản thân các khối mồ côi cũng hợp pháp); phần thưởng cho các khối chú có thể làm giảm bớt vấn đề tập trung khai thác (tập trung nhóm khai thác) ở một mức độ nhất định.

Để biết thêm thông tin về khối chú, bạn có thể đọccũng nhưcũng như"Phân tích công nghệ liên quan đến Ethereum Uncle Block"

Máy khai thác và nhóm khai thác

Trong những ngày đầu của Ethereum, có thể khai thác ether bằng bộ xử lý trung tâm (CPU) của máy tính, nhưng kể từ khi các công cụ khai thác card đồ họa (GPU) trở nên hiệu quả hơn hai bậc, CPU không còn sinh lãi nữa.

Sau đó, các máy tính chuyên dùng để khai thác tiền kỹ thuật số xuất hiện, được gọi là "máy khai thác".

Ethereum hiện đang sử dụng card đồ họa để khai thác. Các card đồ họa tùy chọn là card đồ họa AMD (viết tắt là "A card") hoặc card đồ họa NVIDIA (viết tắt là "N card") - các tùy chọn phổ biến cho card N là GTX 1060, GTX 960, GTX 950, GTX 750 Ti và các mẫu khác.

Những độc giả muốn thử tự khai thác được khuyến nghị đọc"Hướng dẫn khai thác Ethereum cho người mới bắt đầu"

bitmainbitmainĐã thông báo trên Twitter về việc phát hành chính thức Antminer E3, một máy khai thác ASIC phù hợp để khai thác Ethereum, được thiết kế để phá vỡ thuật toán khai thác "kháng ASIC" (thuật toán EtHash) trong thiết kế riêng của Ethereum.

Tuy nhiên, các nhà phát triển của cộng đồng Ethereum đã không bỏ cuộc, họ tiếp tục đề xuất các giải pháp mới để chống lại sự lây nhiễm từ Bitmain. dựa theoCointelegraphTheo báo cáo vào ngày 5 tháng 1, các nhà phát triển lõi Ethereum đã đạt được sự đồng thuận sơ bộ về việc triển khai thuật toán bằng chứng công việc (Prog-PoW) mới, thuật toán này không chỉ làm tăng "độ khó" khai thác của các máy khai thác ASIC mà còn ổn định Tốc độ băm, cải thiện hiệu quả khai thác của các mạng dựa trên GPU (chứ không phải dựa trên ASIC).

Tuy nhiên, hiện tại, cộng đồng vẫn chưa đạt được sự đồng thuận về việc có nên áp dụng Prog-PoW hay không và khi nào thì áp dụng nó. để kiểm toán thay thế.

Nếu muốn theo dõi những tin tức mới nhất, bạn có thể tham giaNhóm Ethereum ProgPoWTham gia thảo luận.

Một khía cạnh khác của khai thác là sự độc quyền về sức mạnh tính toán của các nhóm khai thác. dựa theoetherchain.orgTheo dữ liệu, thứ hạng hiện tại về sức mạnh tính toán của nhóm khai thác Ethereum là: Ethermine (30,37%), SparkPool (16,24%), NanoPool (15,51%), F2Pool (12,37%) và trong 30 ngày qua hoặc thậm chí nửa năm trước, Bảng xếp hạng này luôn như thế này.

Đối với các nhà đầu tư bán lẻ, do sức mạnh tính toán không chiếm ưu thế nên giá trị may mắn của việc tạo khối không cao và rất khó khai thác khối nên họ phải tham gia nhóm khai thác và phí xử lý khoảng 1% đến 5%. .

công cụ truy vấn

hợp đồng thông minh

hợp đồng thông minh

Một chương trình trên Ethereum được gọi là hợp đồng thông minh, là tập hợp mã và dữ liệu. Hợp đồng thông minh có thể được hiểu là một hợp đồng được viết bằng mã có thể được thực thi tự động trên chuỗi khối. Nhiều trò chơi blockchain đánh bạc tuyên bố sử dụng hợp đồng thông minh, có thể tự động thanh toán và sẽ không có người chia bài. Nên đọc chuyên mục Odaily "cũng nhưcũng như“Các trường hợp ứng dụng hợp đồng thông minh khó thực hiện trong những trường hợp nào? "

(1) Lập trình

Ngôn ngữ lập trình được đề xuất chính thức cho các hợp đồng thông minh là Solidity và phần mở rộng tệp kết thúc bằng .sol. Ngôn ngữ Solidity rất giống với JavaScript và có thể được sử dụng để phát triển hợp đồng và biên dịch thành mã byte của Máy ảo Ethereum.

Về phát triển ngôn ngữ Solidity, Ethereum đã chính thức chuẩn bị các công cụ sau:

 Solidity Documentation 

· Trình biên dịch thời gian thực trực tuyến Solidity

· API hợp đồng tiêu chuẩn

· Useful Ðapp Patterns 

(2) chạy

EVM (Ethereum Virtual Machine) - máy ảo Ethereum là môi trường hoạt động cho các hợp đồng thông minh trên Ethereum. EVM chạy trên nút Ethereum và hợp đồng được triển khai trên mạng Ethereum và hợp đồng có thể chạy trên mạng Ethereum.

Mối quan hệ giữa máy ảo, hợp đồng thông minh và ngôn ngữ hợp đồng thông minh, bạn đọc quan tâm có thể đón đọc"Hiểu về máy ảo chuỗi khối trong một bài viết"

hoặcBrowser-Solidity Web IDEhoặctrình biên dịch solc

Khi phát triển các ứng dụng trên Ethereum thường phải sử dụng Ethereum client (ví) - sử dụng ví là dùng để quản lý token, sau đây là toàn bộDanh sách khách hàng Ethereum

Geth Nó là ứng dụng khách được sử dụng phổ biến nhất khi phát triển Ethereum, được phát triển dựa trên ngôn ngữ Go; ứng dụng khác được sử dụng phổ biến nhất làParity, dựa trên sự phát triển của Rust.

(3) triển khai

Việc triển khai hợp đồng thông minh đề cập đến việc xuất bản mã byte của hợp đồng lên chuỗi khối và sử dụng một địa chỉ cụ thể để đánh dấu hợp đồng.Địa chỉ này được gọi là tài khoản hợp đồng.

Sau khi hợp đồng được triển khai, khi cần gọi hợp đồng thông minh, chỉ cần gửi một tin nhắn (tức là một giao dịch) đến tài khoản hợp đồng, sau khi tin nhắn được kích hoạt, mã của hợp đồng thông minh sẽ được thực thi trong EVM.

Để biết chi tiết hoạt động cụ thể, nên đọc "Ethereum là gì - Hướng dẫn phát triển Ethereum cho người mới bắt đầu》, đồng thời đề xuất trang web của nhà phát triển Ethereumethdevcũng nhưremix, họ cung cấp trình biên dịch cơ bản, mạng thử nghiệm và thực thi hợp đồng.

Nếu muốn tham khảo các dự án đã và đang phát triển trên Ethereum, bạn có thể đăng nhậpEthereum·Github

DApp

Các ứng dụng phi tập trung (DApp), giống như các APP truyền thống, cung cấp dịch vụ cho phép tương tác trực tiếp giữa người dùng và nhà cung cấp. Nhưng DApp chuỗi khối có một số kết hợp hợp đồng thông minh có thể thực hiện các chức năng dành riêng cho DApp.

Trong nửa cuối năm ngoái, các DApp blockchain đã được chú ý và nhiều người tin rằng nó có thể thay đổi các vấn đề cố hữu của các ứng dụng tập trung truyền thống (độ mờ đục, thiếu quyền riêng tư, v.v.). , tiếp theo là các trò chơi. dựa theoDappraderTheo dữ liệu, số lượng người dùng hoạt động hàng ngày tối đa của các ứng dụng Ethereum DApp không vượt quá 1.500. đề nghị đọc"Dapp là gì? "

(1) truy vấn

· dappradardapp.review: Ngoài việc xem Ethereum, bạn cũng có thể xem các dapp trên chuỗi EOS và Tron;

· Mist: Trình duyệt DApp chính thức của Ethereum.

· Status: Một trình duyệt DApp có thể sử dụng trên điện thoại di động.

· MetaMask: Tiện ích mở rộng của trình duyệt Google, biến Chrome thành trình duyệt DApp. Quản lý ví của bạn và kết nối với các mạng Ethereum khác nhau, bao gồm cả mạng phát triển cục bộ.

· Parity: Ethereum client, cũng là một trình duyệt DApp.

(2) Phát triển

Làm thế nào để làm điều đó nếu bạn muốn phát triển một Dapp? Trước hết, phát triển Dapp cần hiểu các ngôn ngữ lập trình như Web3 Javascript API và Solidity, cụ thể như sau:

· Web3 JavaScript API- Đây là SDK JavaScript chính khi bạn muốn tương tác với các nút Ethereum;

· Solidity Docs- Solidity là một ngôn ngữ hợp đồng thông minh được phát triển bởi Ethereum, cung cấp các opcode được biên dịch cho EVM (Máy ảo Ethereum);

· Solium- Tuân thủ nghiêm ngặt chính thứcSolidity Style GuideMột nhà phát triển để đưa ra các quy tắc;

· mạng thử nghiệm- Testnet giúp các nhà phát triển phát triển và kiểm tra mã Ethereum và tương tác với mạng;

· Tài nguyên phát triển Dapp- Giúp phát triển, gỡ lỗi và triển khai các ứng dụng Ethereum, cụ thể:Hợp đồng thông minh ELI5101 người mới giới thiệu cách viết hợp đồng thông minhDanh sách API hợp đồng chuẩn hóa

Về phát triển dapp, cũng có một số hướng dẫn để tham khảo:

· Giới thiệu về ethereum.org Hướng dẫn Dapp

· Chuỗi hướng dẫn Dapps cho người mới bắt đầu

· Dòng hướng dẫn Solidity

· tiêu đề phụ

· A contract packager for Ethereum and Javascript (formerly ether-pudding)

6. Tình trạng phát triển của Ethereum

Lộ trình Ethereum

Theo kế hoạch của những người sáng lập Ethereum Vitalik và Gavin Wood, sự phát triển của Ethereum được chia thành4 giai đoạn: Frontier (biên giới), Homestead (nhà cửa), Metropolis (đô thị) và Serenity (sự tĩnh lặng).

Lộ trình Ethereumnhư sau:

  • Frontier (2015.7-2016.3): Ethereum phát hành phiên bản beta (bản không chính thức) để các nhà phát triển tìm hiểu, thử nghiệm và bắt đầu xây dựng các ứng dụng và công cụ phi tập trung của Ethereum;

  • Homestead (2016.3-2017.10): Phiên bản chính thức của Ethereum đã được phát hành và người dùng thông thường cũng có thể khai thác, có 4 hard fork ở giữa và ETC đã được fork;

  • Metropolis (2017.10-nay): Chuyển đổi từ PoW sang PoS, với hai nhánh cứng ở giữa - nhánh cứng Byzantium và Constantinople;

  • Serenity (sẽ được xác định): Trở thành một chuỗi khối thực sự chính thống và nâng cấp lên ETH 2.0.

Hiện tại, Ethereum vẫn đang trong giai đoạn Metropolis (đô thị) và hard fork Constantinople đã bị hoãn lại đến ngày 27 tháng 2 năm 2019. Để biết thêm chi tiết về giai đoạn Thanh thản, tôi khuyên bạn nên đọc Vitalik's "Tổng quan về cơ sở thiết kế Ethereum Serenity》

Để biết thêm chi tiết về lịch sử phát triển Ethereum, nên đọc"Đánh giá lịch sử phát triển Ethereum"cũng nhưcũng như"Năm năm Ethereum"

Vấn đề mở rộng

Ethereum vẫn đang trong giai đoạn tăng trưởng ban đầu và phải đối mặt với nhiều vấn đề - bao gồm cơ chế đồng thuận, thông lượng và các vấn đề khác."Phân tích chuyên sâu về hướng phát triển của Ethereum"

Về vấn đề này, nhiều nhà phát triển, trong đó có Vitalik, nhận thức rõ ràng về điều này và họ đã đề xuất một số giải pháp mở rộng dựa trên “off-chain” và “layer 2” – dành riêng cho việc xây dựng cơ sở hạ tầng và mở rộng quy mô hiệu suất Ethereum – thường được gọi là mở rộng quy mô các giải pháp, bao gồm các kênh trạng thái, sharding, giải pháp subchain/sidechain Plasma và Truebit. Vitalik thậm chí còn tuyên bố rằng Plasma và sharding có thể có tác dụng hiệp đồng, giúp tốc độ xử lý của Ethereum đạt 1 triệu TPS.

  • Các kênh trạng thái (state channel): Nhà thiết kế hy vọng sẽ cải thiện hiệu quả sử dụng blockchain, giảm phí xử lý, tăng tính riêng tư trong khi vẫn giữ được các đặc tính đáng tin cậy của blockchain bằng cách "chuyển nhiều quy trình xử lý sang ngoại tuyến". Kênh trạng thái là một dạng kênh thanh toán tổng quát, nhưng nó không giới hạn trong thanh toán mà còn có thể được sử dụng để "cập nhật trạng thái" tùy ý trên chuỗi khối, chẳng hạn như thay đổi trong hợp đồng thông minh.

  • Sharding: Chia toàn bộ trạng thái của mạng Ethereum thành một loạt các phân vùng được gọi là phân đoạn, chứa các lát trạng thái độc lập và lịch sử giao dịch của riêng chúng. Trong một hệ thống như vậy, các nút cụ thể chỉ xử lý các giao dịch cho các phân đoạn cụ thể, cho phép thông lượng giao dịch được xử lý trong tất cả các phân đoạn cao hơn nhiều so với xử lý tất cả các giao dịch trong một phân đoạn (như chuỗi chính hiện tại).

  • Plasma: Giống như các kênh trạng thái, Plasma là một công nghệ để quản lý các giao dịch ngoài chuỗi trong khi dựa vào chuỗi khối Ethereum cơ bản để bảo mật. Nhưng Plasma có một cách tiếp cận mới bằng cách tạo ra các chuỗi khối "con" gắn liền với chuỗi khối Ethereum "chính". Các chuỗi con này lần lượt có thể tạo ra các chuỗi con của riêng chúng, các chuỗi con này có thể được lặp lại lần lượt.

  • Truebit: Truebit là một công nghệ giúp Ethereum thực hiện các phép tính nặng hoặc phức tạp ngoài chuỗi. Nó cho phép các ứng dụng dựa trên Ethereum xử lý các giao dịch phức tạp hơn và vẫn được xác minh bởi chuỗi chính, đồng thời hiệu quả hơn để tăng thông lượng giao dịch tổng thể của chuỗi khối Ethereum, điều này làm cho nó khác với các kênh trạng thái và Plasma.

Để biết thêm chi tiết, nên đọc"Kế hoạch mở rộng lớp 2 của Ethereum""Kênh trạng thái là gì"V God: Sharding trên Ethereum"Cách mở rộng quy mô Ethereum: Giải thích về Nguyên tắc Sharding""Sự phân mảnh Ethereum: tổng quan và tài chính"cũng nhưcũng như"Truebit × Quản lý tương lai"

 ETH2.0

Các đề án trên được lên kế hoạch triển khai trong ETH 2.0 Hiện tại, nhóm nghiên cứu Ethereum đã đề xuất một số kế hoạch và giả định về Ethereum 2.0. Nếu bạn muốn tìm hiểu thêm, bạn có thể đọc"Ethereum 2.0 là gì?" được biên soạn bởi Odaliy Chia làm mấy giai đoạn? "cũng như"ETH 2.0" của Vitalik. Theo bài báo, các giai đoạn đại khái như sau:

  • Giai đoạn 0 giới thiệu Chuỗi đèn hiệu (The Beacon Chain): Một trong những chức năng được đảm nhận bởi chuỗi này là cho phép người xác minh tham gia vào hệ thống cam kết, thay thế vai trò của người khai thác và trở thành người xây dựng chuỗi. Một chức năng khác là lưu trữ chỉ mục của trạng thái phân đoạn. Để có phần giới thiệu chi tiết về chuỗi đèn hiệu, hãy đọc"Giải thích chi tiết chuỗi báo hiệu lõi giao thức Ethereum 2.0"

  • Giai đoạn 0+ Staking: Beacon chain và mỗi shard chain sẽ sử dụng Casper FFG để hoàn thành việc tạo khối. FFG là một thuật toán bằng chứng cổ phần (Proof of Stake), được sử dụng để áp dụng các hình phạt đối với hành vi xấu trên chuỗi (tức là làm giảm vốn chủ sở hữu);

  • Giai đoạn 1 Sharding: Nhằm mục đích đạt được sự đồng thuận về nội dung của chuỗi phân đoạn, chứ không phải ý nghĩa của nó. Nói cách khác, đây là "chạy thử" cấu trúc sharding, chứ không phải cố gắng sử dụng sharding để mở rộng (Scale). Chuỗi đèn hiệu coi chuỗi phân đoạn là một tập hợp các bit không có cấu trúc hoặc ý nghĩa đơn giản. Chuỗi phân đoạn chưa sở hữu tài khoản, tài sản hoặc hợp đồng thông minh.

  • Hợp đồng thông minh giai đoạn 2: Hệ thống Ethereum quen thuộc bắt đầu quay trở lại. Tại thời điểm này, BETH mới có thể chuyển nhượng được và các hợp đồng thông minh sẽ được giới thiệu lại. Mỗi phân đoạn sẽ quản lý một máy ảo dựa trên eWASM (mà chúng tôi gọi là "EVM2").

  • Giai đoạn 3 Lưu trữ trạng thái off-chain: Giảm thiểu trạng thái on-chain càng nhiều càng tốt.Không cần thiết phải lưu trữ toàn bộ trạng thái khi on-chain và người dùng sẽ chịu trách nhiệm lưu trữ toàn bộ trạng thái off-chain. EVM2 sẽ hỗ trợ các tài khoản, hợp đồng, trạng thái và các khái niệm trừu tượng khác mà chúng ta quen thuộc.

  • Giai đoạn 4 Hợp đồng thông minh phân mảnh: Hy vọng đạt được giao tiếp giữa các phân đoạn, nhưng còn nhiều khó khăn cần giải quyết, chi tiết vui lòng tham khảo bài viết.

Điều đáng chú ý là vào ngày 31 tháng 1 năm 2019, Ethereum đã phát hành phiên bản phát hành trước đầu tiên của Giai đoạn 0, sự phát triển của mạng Ethereum 2.0.

Ngoài ra, các nhà phát triển cốt lõiBen Edgington Các bản cập nhật hàng tuần về thông số kỹ thuật Giai đoạn 0 của chuỗi Eth 2.0 Beacon (Beacon) được phát hành, vì vậy rất đáng để chú ý.

tiêu đề phụ

Quỹ Ethereum

Quỹ Ethereum

Vào tháng 6 năm 2014, Ethereum Foundation đã được đăng ký tại Thụy Sĩ và là một tổ chức phi lợi nhuận được thiết kế để quản lý số tiền huy động được từ việc bán Ethereum nhằm phục vụ tốt hơn cho Ethereum và hệ sinh thái công nghệ phi tập trung. Trọng tâm chính, nhưng không độc quyền, của nó là thúc đẩy sự phát triển của giao thức Ethereum và các công nghệ liên quan, đồng thời hỗ trợ các ứng dụng sử dụng công nghệ và giao thức Ethereum.

Thông tin liên lạc chính thức từ Ethereum Foundation thường ởBlog EthereumĐược trình bày dưới dạng bài viết - một số bài viết mang tính kỹ thuật, một số mang tính tổ chức, một số mang tính cá nhân, tất cả các bài đăng trên blog đều có trênTwitterRedditcông khai trên .

Ngoài ra, Quỹ cũng sẽkênh YoutubeTổ chức một số cuộc họp dành cho nhà phát triển trên trang web, chẳng hạn như cuộc gọi của nhà phát triển cốt lõi vào tối ngày 18 tháng 1 về việc trì hoãn fork Constantinople.

Tóm tắt mục liên quan:Trang web chính thứcTwitterCộng đồngBlogTwitterYoutubeFacebooke-maile-mailEthereum

Cộng đồng

EthereumredditGitter RoomsStack Exchange

Stack ExchangeTrang web sử dụng hình thức hỏi đáp, người này đăng bài, người khác nhiệt tình để lại tin nhắn, hoạt động của người dùng tương đối cao.

Gitter Nó là phần mềm chat dưới Github, đăng nhập bằng tài khoản Github. Đây là diễn đàn ưa thích để trò chuyện hàng ngày về Ethereum, có nhiều nhà phát triển cốt lõi trong đó và bạn có thể nhận được câu trả lời mình muốn ngay lập tức. Các nhà phát triển thườngGitter trò chuyện và cộng tác trênGithubGửi mã ở trên.

Ngoài raGitter Các phòng khác nhau có chủ đề khác nhau, cốt lõi làAllCoreDevsRoom, nơi tập trung gần như tất cả các nhà phát triển Ethereum.

có liên quanGitter Tóm tắt phòng:

  •  go-ethereum—— Giới thiệu về geth (các công cụ liên quan đến triển khai go)

  •  cpp-ethereum—— Giới thiệu về eth (các công cụ liên quan đến triển khai C++)

  •  web3.js—— Giới thiệu về web3.js (Thư viện giao diện người dùng ngôn ngữ mô tả Ethereum Java)

  •  Solidity——Ngôn ngữ lập trình liên quan đến hợp đồng Solidity

  •  serpent—— Ngôn ngữ rắn để phát triển hợp đồng

  •  mist —— Trình duyệt xử lý và thu thập dữ liệu GUI, ứng dụng ví chính thức

  •  light-client —— Giới thiệu về máy khách nhẹ và giao thức LES

  •  research ——Nghiên cứu Ethereum

  •  governance—— Giới thiệu về quản lý nhà phát triển

  •  whisper—— Telegram dữ liệu ẩn danh được xuất bản

  •  swarm —— Mạng lưu trữ và phân phối nội dung phi tập trung

  •  EIPs ——Thảo luận về giao thức cải tiến Ethereum (EIP)

  •  ethereumjs-lib ——Thư viện ngôn ngữ mô tả Java cho các chức năng cốt lõi của Ethereum

  •  devp2p —— Giao thức và framework mạng ngang hàng của ÐΞV

Đề xuất cải tiến Ethereum (EIP)

Đề án giao thức cải tiến Ethereum (EIPS) nhằm mục đích trở thành một khuôn khổ và quy trình kinh doanh không chính thức để điều phối các cải tiến giao thức. Trước tiên, mọi người sẽ gửi ý tưởng đến kho lưu trữ Ethereum EIP dưới dạng một vấn đề hoặc yêu cầu kéo. Sau khi lọc cơ bản, các đề xuất nhận được một số và được xuất bản dưới dạng bản nháp. Giao thức cải tiến Ethereum phải được cộng đồng nhất trí trước khi nó hoạt động. Từ đề xuất thay đổi đến thỏa thuận cuối cùng, nó phụ thuộc vào sự đồng thuận của người dùng Ethereum. Để thảo luận về giao thức cải tiến của Ethereum, bạn có thể vào kênh gitter về giao thức cải tiến của Ethereum.

Meetups

Các cuộc gặp gỡ của Ethereum được phân phối trên toàn thế giới. Họ thường tổ chức các cuộc gặp gỡ ngoại tuyến để thảo luận về công nghệ và sự phát triển của ngành, đồng thời tổ chức cùng nhau để giữ ấm.

người đóng góp

Là một dự án mã nguồn mở, Ethereum đã được nhiều nhà phát triển hỗ trợ và cộng đồng Ethereum cũng đã đưa radanh sách cộng tác viêntiêu đề phụ


8. Những người khác

Ethereum có một số trang web thông tin, nếu bạn quan tâm có thể chú ý đến:

秦晓峰
@QinXiaofeng888
作者文库