Định hướng Ethereum trong 10 phút

Mục đích của hướng dẫn này là giúp bạn đắm mình vào Web3 càng nhanh càng tốt để bạn có bối cảnh và hiểu biết cơ bản cần thiết để bắt đầu học và bắt đầu phát triển.

Tại sao lại sử dụng Blockchain?

Nếu bạn chưa quen với không gian này, có thể không rõ “Internet phi tập trung” mang lại cho nhà phát triển những gì. Hãy nghĩ về một chuỗi khối công khai như Ethereum như việc xác định một “trạng thái” rõ ràng — và nguồn chân lý — cho tất cả những người tham gia vào nó, có thể truy cập bởi bất kỳ ai có kết nối Internet, một hệ thống sử dụng sức mạnh của giao thức nguồn mở và dự phòng của mạng ngang hàng để duy trì độ tin cậy và an toàn. Thay vì yêu cầu mọi nhà phát triển ứng dụng phải tạo và duy trì toàn bộ trạng thái của ứng dụng của họ trên các máy chủ riêng, nhiều thứ có thể được lưu trữ và truy xuất từ ​​blockchain công khai. Một chương trình phụ trợ chung, đáng tin cậy, an toàn.

Lý do điều này có thể thực hiện được là do các đặc điểm độc đáo của cơ sở dữ liệu blockchain. Nó chỉ ghi: nơi một cơ sở dữ liệu điển hình có thể thêm và xóa các bản ghi, dữ liệu blockchain tồn tại vĩnh viễn và không thể bị xóa. Mạng lưới các nút duy trì cơ sở dữ liệu này như một “sổ cái phân tán” và có các giao thức nghiêm ngặt về người có quyền ghi vào một thời điểm nhất định. Một trong những khía cạnh thú vị của công nghệ là cách phân phối quyền ghi giữa các nút có thể không yêu cầu quyền đặc biệt để tham gia. Nếu bạn mở rộng nút Ethereum công khai của riêng mình, bạn sẽ có quyền truy cập ghi vào toàn bộ mạng: miễn là bạn đã hoàn thành “bằng chứng công việc” cần thiết để cung cấp cho bạn đặc quyền viết một nút trước khi bất kỳ nút nào khác làm.. 

Một ví dụ điển hình và điển hình của công nghệ blockchain đang hoạt động là sự dễ dàng gửi và nhận tiền điện tử. Sổ cái Ethereum công khai cho phép nhà phát triển triển khai các cổng thanh toán mà không cần ngân hàng, tài khoản hoặc các trung gian khác. 

Một nhà phát triển có thể tạo mã thông báo Ethereum của riêng họ mà không cần phải tạo cơ sở hạ tầng cần thiết để người dùng giao dịch chúng. Một nền tảng trò chơi trực tuyến có thể mã hóa các vật phẩm trong trò chơi và người dùng có thể mua các mã thông báo đó và giao dịch bên ngoài nền tảng và sở hữu chúng riêng biệt với chính nền tảng trò chơi. Ngoài giao dịch các mặt hàng để sử dụng trong trò chơi, các bộ sưu tập kỹ thuật số có tiềm năng lớn trong tương lai. Khi thể thao điện tử ngày càng phổ biến, bạn có thể có mã hóa kỹ thuật số tương đương với “bóng chạy tại nhà”.

Với việc mỗi người dùng có cặp khóa công khai / riêng tư của riêng họ, việc xác thực người dùng được thực hiện đơn giản hơn nhiều vì các ứng dụng chỉ cần xác minh rằng người dùng có thể ký giao dịch bằng khóa riêng tư của họ.

Hợp đồng thông minh có thể được sử dụng để tạo tiền có thể lập trình được. Hãy xem xét cách sử dụng cơ bản của hợp đồng thông minh có thể lập trình để giải quyết tình huống trong đó hai chủ sở hữu căn hộ muốn chia 50/50 khoản thanh toán tiền thuê của người thuê. Thông thường, người thuê sẽ phải trả tiền riêng cho từng chủ sở hữu, hoặc sẽ trả tiền cho một chủ sở hữu hoặc một đại lý, và chủ sở hữu hoặc đại lý sẽ giải ngân tiền. Mặc dù tình huống này không có vấn đề gì đặc biệt, nhưng hãy xem xét sự tin tưởng ngầm cần có ở một cá nhân để cung cấp cho người kia sự chia sẻ của họ. Ngược lại điều này với một hợp đồng thông minh đơn giản phân chia theo chương trình mọi khoản tiền đến và gửi chúng đến địa chỉ của từng chủ sở hữu. Người thuê chỉ cần gửi tiền thuê của họ đến địa chỉ đó và mỗi chủ sở hữu sẽ nhận được phần của họ ngay lập tức. Do tính bảo mật và tính bất biến của một blockchain như Ethereum, mỗi chủ sở hữu có thể yên tâm rằng hợp đồng thông minh sẽ hoạt động như mong muốn và có thể kiểm tra mã của nó. 

Khi chúng ta có được nền tảng tin cậy kỹ thuật số do blockchain cung cấp, chúng ta cũng có thể áp dụng những lợi ích của việc lập trình vào các vấn đề xã hội quan trọng. Chúng tôi có thể cung cấp dịch vụ ngân hàng trong một vài dòng mã. Chúng tôi có thể xác nhận danh tính bằng một vài cú nhấp chuột. Tất cả với một giao thức có thể chạy trên hầu hết mọi máy tính ở bất kỳ đâu trên thế giới.

Khi không gian mới và đang phát triển, các nhà phát triển có rất nhiều cơ hội để xây dựng các loại công cụ, ứng dụng và hệ thống mới, đồng thời đưa ra các trường hợp sử dụng mới cho công nghệ này.

Giải pháp tìm kiếm vấn đề?

Một biện pháp phổ biến trong những lời chỉ trích về công nghệ blockchain là nó là một giải pháp để tìm kiếm một vấn đề. Có thể lập luận rằng tiền kỹ thuật số là ứng dụng giết người đầu tiên của blockchain và Tài chính phân tán, hay DeFi, đang định hình để trở thành ứng dụng tiếp theo, mức độ đầy đủ về cách công nghệ này có thể được áp dụng hiện chưa được biết và là một trong những lý do chính khiến các nhà phát triển trong không gian cảm thấy thú vị khi được tham gia. Trong hơn một thập kỷ, công nghệ laser không được sử dụng rõ ràng, cho đến khi các nhà nghiên cứu, thử nghiệm và doanh nhân có thể áp dụng nó theo những cách hoàn toàn bất ngờ. Mặc dù lập luận tương tự có thể được sử dụng cho bất kỳ công nghệ mới nào, nhưng việc áp dụng rộng rãi tiền tệ kỹ thuật số và hơn 350 tỷ đô la hiện có trên các blockchain phân tán, không được quản lý, phi tập trung, là khá đáng chú ý. 

Cấu trúc ứng dụng phân tán cơ bản 

Nói chung, một ứng dụng phân tán là một ứng dụng kết nối với một chuỗi khối ở đâu đó trong ngăn xếp của nó và theo một cách nào đó có thể là nền tảng cho hoạt động của nó. Ứng dụng được phân phối là sự kết hợp của hệ thống phía trước và hệ thống phụ trợ thông thường mà bạn tìm thấy trong một ứng dụng web nhưng sẽ sử dụng một thư viện như web3.js để kết nối với mạng Ethereum. Một số ứng dụng phân phối được phân phối hoàn toàn: sống hoàn toàn trên các mạng phân tán.

Về phía người dùng, MetaMask là một plugin phổ biến quản lý ví Ethereum của người dùng. MetaMask cung cấp một giao diện để người dùng ký các giao dịch và chứng minh “danh tính” của họ.

Một ứng dụng phân tán nhất định có thể kết nối với chuỗi khối Ethereum và cũng với ví MetaMask của người dùng (hoặc ví khác) để xác thực. 

Giao diện với Ethereum 

Thông thường, để tương tác với Ethereum, bạn sẽ cần vận hành một nút. Nút là một phần cơ bản trong cấu trúc của blockchain, một mạng ngang hàng kết nối với các đồng nghiệp khác để tạo thành cấu trúc phi tập trung. Giao thức là vua trên mạng chính công cộng: không có máy chủ trung tâm, không có thẩm quyền và không có giới hạn về người có thể vận hành một nút. Chỉ có một giao thức chung cho tất cả các nút tham gia.

Nhiều nhà phát triển ứng dụng không muốn chạy nút Ethereum của riêng họ, vì vậy các dịch vụ như Infura tồn tại để cung cấp một cổng và API cho Ethereum mà các nhà phát triển có thể sử dụng thay thế.

Hợp đồng thông minh

Trong khi mạng Bitcoin là một trong những blockchain nổi tiếng nhất, Ethereum có một bộ tính năng thú vị hơn đối với các nhà phát triển vì nó bao gồm một máy ảo hoàn chỉnh Turing có thể chạy các chương trình nhỏ được gọi là hợp đồng thông minh. Do đó, Ethereum có cộng đồng nhà phát triển mạnh nhất và tích cực nhất trong số bất kỳ hệ sinh thái blockchain nào. 

Hợp đồng thông minh chạy trên các nút và sử dụng các giao dịch cho đầu vào và đầu ra của chúng. Hợp đồng thông minh cư trú tại các địa chỉ trên blockchain, giống như cách địa chỉ tài khoản của người dùng làm. Để tương tác với một hợp đồng thông minh, bạn chỉ cần gửi một giao dịch đến nó cùng với dữ liệu đầu vào. 

Khí ga

Chạy một hợp đồng thông minh yêu cầu gas, một chi phí nhỏ bù đắp cho các nhà khai thác nút cho dịch vụ thực hiện hợp đồng thông minh, đồng thời giảm tỷ lệ spam (bằng cách làm cho việc gửi spam trở nên đắt đỏ) và ngăn các hợp đồng thông minh được mã hóa kém lặp lại vô hạn và làm hỏng mạng.

Mainnet, Testnet, Mạng khác

Mạng chính trong cách nói của blockchain đề cập đến mạng hoạt động chính cho một giao thức nhất định. Trong trường hợp của Ethereum, mainnet là nơi giá trị thực được trao đổi và được coi là nguồn gốc của sự thật. Nhưng bất kỳ nhóm nút nào cũng có thể tạo thành mạng riêng của chúng. Testnet phục vụ cộng đồng nhà phát triển bằng cách cung cấp các mạng nhỏ hơn nhiều nơi Eth và gas miễn phí, vì vậy các nhà phát triển có thể thử nghiệm các dự án và mã của họ mà không gặp rủi ro. Các testnet Ethereum được đặt tên là Ropsten, Kovan, Rinkeby và Görli.

Mạng Ethereum cũng được sử dụng cho các ứng dụng doanh nghiệp: mạng tùy chỉnh hoạt động trên cơ sở được phép (so với mạng chính và mạng thử nghiệm không được phép) để tạo điều kiện thuận lợi cho các giao dịch và các hoạt động khác giữa một nhóm nhỏ các tổ chức (ví dụ). Các mạng này có ít nút hơn và thường phục vụ một mục đích cụ thể. Ví dụ, các ngân hàng lớn có thể sử dụng blockchain để thanh toán liên ngân hàng.

Phát triển trong Ethereum

Sự phát triển trong Ethereum thường diễn ra đầu tiên trên các blockchain cục bộ, tự quay tại nhà. Các nhà phát triển có thể tự do sử dụng một số thứ như geth, phần mềm dòng lệnh cho phép bạn tạo mạng Ethereum. Nhưng điều này giống như lập trình bằng một ngôn ngữ cấp thấp: làm cho mọi thứ dễ dàng hơn, bộ Truffle phục vụ nhiều nhu cầu của nhà phát triển. Ganache, một phần của bộ ứng dụng, giúp các nhà phát triển khởi động mạng lưới blockchain cục bộ để kiểm tra ứng dụng của họ dễ dàng hơn nhiều, cung cấp “chuỗi khối một cú nhấp chuột” cho mục đích phát triển, cùng với các công cụ dòng lệnh. Drizzle giúp phát triển front-end và bản thân Truffle là một khuôn khổ để giúp việc triển khai và phát triển hợp đồng thông minh dễ dàng hơn.

Tương tác với chính blockchain yêu cầu sử dụng API (chẳng hạn như web3.js) và quyền truy cập vào một nút; thay vì vận hành các nút của riêng họ, nhiều nhà phát triển sẽ sử dụng một dịch vụ như Infura như một API Ethereum.

Ngôn ngữ Hợp đồng Thông minh

Hiện tại, ngôn ngữ phổ biến nhất để viết mã các hợp đồng thông minh là Sự vững chắc. Ngôn ngữ giống như javascript này khá dễ sử dụng đối với các nhà phát triển mới, đặc biệt là những người có kinh nghiệm viết mã web. Phối lại là một IDE trực tuyến cho phép các nhà phát triển thử nghiệm với việc tạo các hợp đồng thông minh. Có nhiều chi tiết quan trọng cần tìm hiểu đối với các lập trình viên hợp đồng thông minh, vì các hợp đồng thông minh trên mạng chính hoạt động trên giá trị thực và không thể thay đổi sau khi được triển khai (mặc dù có những phương pháp lập trình hỗ trợ việc này).

Ngăn xếp đầy đủ

Như với tất cả các phát triển web hiện đại, có rất nhiều tùy chọn cho các thành phần để sử dụng ở các cấp độ khác nhau của ngăn xếp. Bạn có thể biết thêm chi tiết trong ngăn xếp blockchain luôn cập nhật.

Một ngăn xếp dự án đơn giản

Dưới đây là một bộ công cụ phát triển điển hình mà bạn có thể sử dụng trong một dự án đơn giản:

NPM 

Trình quản lý gói nút, một phần của node.js

Khung Truffle

Bộ công cụ giúp phát triển dễ dàng hơn

phủ sô cô la

Từ khuôn khổ Truffle, được sử dụng để khởi chạy một blockchain riêng tư trên máy của bạn

MetaMask

Một giao diện người dùng blockchain và cổng vào Ethereum; đó là một plugin trình duyệt và ứng dụng dành cho thiết bị di động mà ứng dụng của bạn có thể kết nối để cho phép người dùng ký các giao dịch và thực hiện các tác vụ khác.

Sự vững chắc

Một ngôn ngữ lập trình phổ biến cho các hợp đồng thông minh

HTML / CSS / JS

Đối với giao diện người dùng của bạn

Web3.js

Thư viện API Ethereum cho phép bạn kết nối và tương tác với mạng Ethereum

Infura

Một dịch vụ API Ethereum cung cấp cho các nhà phát triển quyền truy cập vào mạng Ethereum mà không cần phải chạy nút riêng của họ

Nếu bạn đã sẵn sàng bắt đầu, hướng dẫn 3 bước của chúng tôi sẽ đi vào chi tiết hơn để giúp bạn thiết lập và chạy trên blockchain một cách nhanh chóng bằng cách đi bộ qua.

    Giới thiệu nhà phát triển: Bước 1Giới thiệu nhà phát triển Bước 1

    Giới thiệu nhà phát triển: Bước 1

    Giới thiệu nhà phát triển: Bước 2Giới thiệu nhà phát triển Bước 2

    Giới thiệu nhà phát triển: Bước 2

    Giới thiệu nhà phát triển: Bước 3Giới thiệu nhà phát triển Bước 3

    Giới thiệu nhà phát triển: Bước 3
Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map