Skip to main content

Cài đặt Plutus với Docker

Khuyến nghị
  • Chúng tôi khuyến nghị bạn nên dùng cách cài đặt môi trường với Demeter để thiết lập môi trường sử dụng Pulutus.
  • Cách "Cài đặt Plutus với Docker" này yêu cầu một máy tính có cấu hình đủ mạnh, đặc biệt là cần nhiều bộ nhớ RAM (>16GB).

Trong hướng dẫn này, bạn sẽ tìm hiểu cách thiết lập môi trường làm việc cục bộ bằng Docker và Visual Studio Code. Cho dù bạn đã có kinh nghiệm sử dụng Docker trước đây hay chưa, chúng tôi sẽ hướng dẫn bạn từng bước, từ việc cài đặt phần mềm bạn cần đến kiểm tra môi trường làm việc của bạn.

Nếu bạn gặp sự cố khi làm theo hướng dẫn này, vui lòng xem lại phần Hướng dẫn khắc phục sự cố. Nếu không thấy giải pháp cho vấn đề của mình, bạn có thể yêu cầu trợ giúp trong kênh #pioneers-câu hỏi trong Discord.

Sử dụng máy chủ của bạn, không phải máy ảo

Các hướng dẫn thiết lập này sẽ chỉ hoạt động để cài đặt thành công nếu bạn sử dụng Docker Desktop trên máy chủ của mình. Thiết lập bên trong máy ảo sẽ không thành công, cho dù đó là máy ảo Windows hay Linux.

Cài đặt Docker

​Docker là một nền tảng được thiết kế để giúp các nhà phát triển xây dựng, chia sẻ và chạy các ứng dụng trong một môi trường biệt lập trên bất kỳ hệ điều hành nào.

Để dễ dàng thiết lập môi trường làm việc cục bộ cho khóa học này, Nhóm Giáo dục IOG đã tạo một bộ chứa Docker đóng gói tất cả các phần phụ thuộc cần thiết để theo dõi các bài học của chương trình này.

Docker container

Docker container là một đơn vị phần mềm tiêu chuẩn đóng gói mã code và tất cả các phần phụ thuộc của nó, vì vậy một ứng dụng chạy nhanh chóng và đáng tin cậy từ môi trường điện toán này sang môi trường điện toán khác. Từ tài liệu Docker, bạn có thể tìm hiểu thêm về bộ chứa Docker trên trang này.

Làm theo các bước tiếp theo để cài đặt Docker trong máy tính của bạn.

  1. Mở trình duyệt của bạn và điều hướng đến https://www.docker.com/. Nhấp vào nút "Tải xuống Docker Desktop" từ trang chủ của Docker. Theo mặc định, bạn sẽ tải xuống phiên bản tương thích với hệ điều hành của mình. Docker có sẵn cho Linux, Microsoft Windows và Apple macOS. Hình ảnh bên dưới cho thấy giao diện của nút tải xuống trên máy tính sử dụng Microsoft Windows. Chúng tôi sẽ sử dụng hệ điều hành này cho hướng dẫn này.

    Trang chủ Docker nơi nút Tải xuống Docker Desktop được tô sáng.

    Lưu ý quan trọng cho người dùng macOS

    Hãy chắc chắn rằng bạn tải xuống đúng phiên bản theo chip của máy tính, đối với chip M1 hoặc M2, hãy tải xuống phiên bản "Chip Apple". Đối với chip Intel, tải xuống phiên bản "Chip Intel".

  2. Sau khi tải xuống trình cài đặt Docker Desktop, hãy thực hiện nó và làm theo hướng dẫn bằng cách chọn các tùy chọn mặc định. Các tùy chọn cài đặt có thể khác nhau tùy thuộc vào chip và hệ điều hành của bạn. Nếu bạn cần hướng dẫn chi tiết, vui lòng truy cập phần Get Docker trên trang web docker docs.

    note

    Sau khi cài đặt Docker Desktop, nó sẽ tự động khởi động sau khi đăng nhập vào máy tính của bạn. Bạn có thể thay đổi hành vi này bằng cách tắt "Khởi động Docker Desktop khi bạn đăng nhập" trong cấu hình Cài đặt Docker. Hình ảnh sau đây hiển thị các cài đặt chung trong Docker Desktop chạy trên Windows.

    Docker Desktop cài đặt chung trong máy tính Windows.

    Để tìm hiểu thêm về cách thay đổi cài đặt trong Docker Desktop, vui lòng truy cập phần "Thay đổi cài đặt" trong hướng dẫn sử dụng Docker Desktop.

Bây giờ bạn đã thiết lập và chạy Docker Desktop, hãy tải xuống và cài đặt Visual Studio Code.

Cài đặt Visual Studio Code

​Visual Studio Code, còn được gọi là VS Code, là trình chỉnh sửa mã code nguồn được Microsoft phân phối miễn phí chạy trên Windows, Linux và macOS. Ngoài ra, để cho phép chỉnh sửa mã code, VS Code cho phép các nhà phát triển tạo và cài đặt các tiện ích mở rộng giúp giảm bớt công việc hàng ngày của họ.

Không cài đặt bất kỳ tiện ích mở rộng Haskell nào trong Visual Studio Code.

Nếu bạn đã cài đặt VS Code, bạn có thể thấy một số lời nhắc từ VS Code yêu cầu quyền cài đặt một số tiện ích mở rộng Haskell khi bạn mở kho lưu trữ PPP. Bạn không cần phải cài đặt bất kỳ thứ gì trong số đó, vì bộ chứa Docker mà chúng tôi cung cấp sẽ cài đặt tất cả các tiện ích mở rộng Haskell mà VS Code cần. Một số Người tiên phong đã cài đặt các tiện ích mở rộng Haskell bổ sung báo cáo sự cố khi hoàn thành hướng dẫn cài đặt này; Ngoài ra, các thành viên Nhóm Giáo dục của IOG đã gặp sự cố khi biên dịch các tập lệnh Plutus.

Làm theo các bước tiếp theo để cài đặt VS Code và tiện ích mở rộng hữu ích mà bạn sẽ sử dụng trong khóa học này.

  1. Mở trình duyệt của bạn và điều hướng đến https://code.visualstudio.com/ để mở trang web Visual Studio Code. Như hình ảnh bên dưới cho thấy, có một nút để bạn có thể tải xuống phần mềm này. Tùy thuộc vào hệ điều hành của bạn, tên của nút sẽ thay đổi. Hãy chắc chắn để tải về phiên bản mới nhất. Nút tải xuống VS Code cho Windows được đánh dấu cho bản trình diễn này.

    Pic Trang chủ Visual Studio nơi nút tải xuống phần mềm này cho Windows được tô sáng.

    note

    Để tải xuống VS Code cho bất kỳ hệ điều hành nào, vui lòng truy cập trang Tải xuống Mã Visual Studio và chọn hệ điều hành bạn muốn.

  2. Sau khi tải xuống trình cài đặt VS Code, hãy cài đặt và làm theo hướng dẫn bằng cách chọn các tùy chọn mặc định. Các tùy chọn cài đặt có thể khác nhau tùy thuộc vào chip và hệ điều hành của bạn. Nếu bạn cần hướng dẫn chi tiết, vui lòng truy cập phần Thiết lập Visual Studio Code trên trang web tài liệu VS Code.

  1. Khi bạn đã cài đặt VS Code, hãy mở nó để cài đặt tiện ích mở rộng. Tiện ích mở rộng là các tiện ích bổ sung giúp mở rộng chức năng của VS Code; Microsoft cung cấp một số tiện ích mở rộng, nhưng cũng có rất nhiều tiện ích mở rộng được tạo bởi các công ty và nhà phát triển khác. Để cài đặt tiện ích mở rộng, hãy nhấp vào biểu tượng "Quản lý" ở góc dưới cùng bên trái và chọn tùy chọn "Tiện ích mở rộng" trong hình ảnh hiển thị bên dưới.

    Giao diện người dùng Visual Studio trong đó tùy chọn Tiện ích mở rộng được tô sáng trong menu Quản lý.

  1. Tiếp theo, một cửa sổ hiển thị "Các tiện ích mở rộng" sẽ xuất hiện ở phía bên trái của giao diện người dùng VS Code. Trong hộp tìm kiếm, hãy nhập remote developmentđể tìm tiện ích mở rộng Phát triển từ xa do Microsoft cung cấp. Khi tiện ích mở rộng xuất hiện, hãy nhấp vào nó. Như hình ảnh bên dưới hiển thị, bạn nên nhấp vào nút "Cài đặt" để cài đặt tiện ích mở rộng.

    Các tiện ích mở rộng Visual Studio nơi tiện ích mở rộng Phát triển từ xa được tô sáng.

  1. Sau khi cài đặt thành công tiện ích mở rộng Phát triển từ xa, bạn sẽ lưu ý rằng nút "Gỡ cài đặt" xuất hiện trong tab mô tả tiện ích mở rộng và biểu tượng "Mở cửa sổ từ xa" sẽ xuất hiện ở góc dưới cùng bên trái của giao diện người dùng VS Code như bạn có thể thấy trong hình ảnh sau đây.

    Visual Studio UI sau khi cài đặt thành công tiện ích mở rộng Phát triển từ xa.

Tuyệt vời, bạn đã cài đặt tất cả phần mềm cần thiết để sử dụng bộ chứa Docker! Bây giờ, chúng tôi sẽ hướng dẫn bạn các bước bạn phải tuân theo để tải bộ chứa Docker và thực thi nó lần đầu tiên.

Chạy Docker Container PPP

Trước khi chuyển sang sử dụng bộ chứa Docker được cung cấp cho nhóm PPP này, bạn cần đóng VS Code. Tiếp theo, vui lòng theo dõi phần tiếp theo, nơi chúng tôi sẽ hướng dẫn bạn hoàn tất việc thiết lập môi trường làm việc tại cục bộ của bạn.

Nhân bản Kho lưu trữ PPP

Trong phần này, chúng tôi sẽ hướng dẫn bạn nhân bản (fork) kho lưu trữ cho Chương trình Người tiên phong Plutus trong GitHub. Một fork là một kho lưu trữ mới chia sẻ mã code và cài đặt hiển thị với kho lưu trữ ban đầu. Nó giống như có một bản sao cá nhân của repo gốc được lưu trữ trong tài khoản GitHub của bạn. Bạn có thể tìm hiểu thêm về fork trong phần Fork a repo tại GitHub Docs.

Lưu ý rằng bạn cần có tài khoản GitHub để fork kho lưu trữ.

Nếu bạn không có tài khoản GitHub, vui lòng nhấp vào liên kết này để tạo một tài khoản. Nếu bạn cần hỗ trợ thêm trong việc tạo tài khoản GitHub, vui lòng đọc phần Đăng ký GitHub tại Tài liệu GitHub.

Làm theo các bước tiếp theo để fork kho lưu trữ PPP.

  1. Mở trình duyệt của bạn, điều hướng đến https://github.com/ và đăng nhập vào tài khoản GitHub của bạn.
  1. Sau khi đăng nhập vào GitHub, hãy mở kho lưu trữ PPP bằng cách mở URL này: https://github.com/input-output-hk/plutus-pioneer-program. Vì hướng dẫn này hoạt động cho lần thứ 4. Nhóm thuần tập của PPP, đảm bảo rằng nhánh fourth-iteration được chọn, như bạn có thể thấy trong hình ảnh bên dưới.

    Nhánh lặp lại thứ tư của kho lưu trữ PPP trong GitHub.

    note

    Bạn có thể tự do điều hướng qua các nhánh của các nhóm thuần tập trước đó, nhưng vui lòng lưu ý sử dụng đúng nhánh (branch) thứ 4. Cohort.

    Một Branch là một phiên bản biệt lập của kho lưu trữ chính. Thông thường, các nhánh được sử dụng để làm việc trên các dự án cụ thể trong kho lưu trữ git. Bạn có thể tìm hiểu thêm về cách quản lý các nhánh trong GitHub trong trang Giới thiệu về các nhánh tại Tài liệu GitHub.

  2. Để fork kho lưu trữ, nhấp vào biểu tượng "Fork" ở góc trên bên phải, như trong hình bên dưới.

    Kho lưu trữ PPP trong GitHub nơi biểu tượng fork được tô sáng.

  1. Bạn sẽ thấy trang "Tạo một fork mới" tiếp theo. Đảm bảo chọn chủ sở hữu và đặt tên kho lưu trữ. Theo mặc định, nếu bạn chỉ có một tài khoản GitHub, bạn sẽ thấy tên người dùng của mình trong tùy chọn "Chủ sở hữu". Bạn có thể để nguyên ô "Tên kho lưu trữ". Nếu bạn chỉ muốn fork nhánh thứ 4. Theo nhóm, hãy đảm bảo chọn hộp bên cạnh fourth-iteration tùy chọn "Chỉ sao chép nhánh". Cuối cùng, nhấp vào nút "Tạo fork" để tiếp tục. Bạn có thể xem ví dụ về các tùy chọn này trong hình bên dưới.

    Cài đặt mẫu để nhân bản kho lưu trữ PPP.

  2. Bây giờ, repo PPP sẽ được chia thành tài khoản GitHub của bạn. Bạn sẽ thấy một trang tương tự như trong hình bên dưới. Quá trình này có thể mất một vài giây.

    Trang đang chờ xuất hiện trong khi chuyển đổi kho lưu trữ trong GitHub.

  1. Sau vài giây, bạn sẽ thấy bản fork của mình. Để chứng thực rằng bạn đang sử dụng bản fork của mình, hãy lưu ý rằng tên người dùng của bạn xuất hiện trong tên của kho lưu trữ ở góc trên bên trái. Ví dụ: trong hình ảnh bên dưới, một fork được tạo bởi người dùng jarturomora.

    Bản fork mẫu của kho lưu trữ PPP trong GitHub.

Bây giờ bạn đã fork repo, hãy sao chép nó vào máy tính của bạn.

Nhân bản Fork của bạn

Hiện tại, nhánh của kho lưu trữ PPP sẽ là kho lưu trữ phát triển của bạn. Sử dụng fork của bạn, bạn có thể làm bài tập về nhà và chia sẻ tiến độ của mình bằng cách đẩy các bản cập nhật vào fork của bạn. Trong phần này, chúng tôi sẽ hướng dẫn bạn quy trình nhân bản fork trong máy tính của bạn.

Để sao chép fork của bạn vào máy tính, bạn cần cài đặt Git. Nếu bạn chưa cài đặt Git, vui lòng làm theo các hướng dẫn này từ tài liệu Git, nơi bạn sẽ tìm thấy thông tin chi tiết về cách cài đặt Git trên Linux, macOS và Windows.

Vui lòng làm theo các bước tiếp theo để sao chép fork PPP của bạn.

  1. Đảm bảo rằng fork PPP của bạn đang mở trong trình duyệt của bạn trên trang web GitHub. Tiếp theo, như bạn có thể thấy trong hình bên dưới, hãy nhấp vào nút màu xanh lá cây "Mã" để mở các tùy chọn sao chép và tiếp tục bằng cách nhấp vào biểu tượng "Sao chép" bên cạnh đường dẫn kho lưu trữ để sao chép đường dẫn đó vào khay nhớ tạm.

    Bản fork mẫu của kho lưu trữ PPP trong GitHub trong đó nút Mã và các tùy chọn bản sao được làm nổi bật.

  2. Mở cửa sổ đầu cuối (chúng tôi khuyên bạn nên sử dụng Git BASH trong Windows) và điều hướng đến thư mục mà bạn muốn lưu bản sao fork PPP. Tiếp theo, nhập git clone và dán đường dẫn bạn đã sao chép từ fork của mình tại GitHub để tạo lệnh sau.

    git clone git@github.com :jarturomora/plutus-pioneer-program.git
  3. Nhấn enter và fork của bạn sẽ bắt đầu được sao chép vào máy tính của bạn, như bạn có thể thấy trong hình động bên dưới.

    Một cửa sổ đầu cuối nơi fork PPP được sao chép vào một thư mục cục bộ trong máy tính.

    note

    Hoạt hình trước hiển thị một cửa sổ đầu cuối nơi người dùng nhập cd Code để di chuyển đến một thư mục cục bộ có tên Code. Tiếp theo, người dùng gõ git clone, sau đó sao chép đường dẫn của fork GitHub mà người dùng muốn sao chép. Khi lệnh hoàn tất, người dùng nhấn phím enter và fork được nhân bản.

Bây giờ bạn đã sao chép fork vào máy tính của mình, đã đến lúc mở bộ chứa Docker bằng VS Code.

Mở Docker Container PPP trong Visual Studio Code

Trước khi tiếp tục, vui lòng đóng VS Code nếu nó đang mở, vì mã code này cần khởi động lại để cho phép tiện ích mở rộng "Phát triển từ xa" phát hiện tệp Docker trong repo.

Vui lòng làm theo các bước tiếp theo để mở và định cấu hình bộ chứa PPP Docker của bạn.

  1. Mở một cửa sổ đầu cuối, điều hướng đến thư mục nơi bạn sao chép fork PPP của mình và để mở Visual Studio Code bên trong thư mục của kho lưu trữ hãy nhập lệnh sau đây.

    code .

    Hình ảnh sau đây cho thấy ví dụ về sự xuất hiện của lệnh này trong thiết bị đầu cuối Git BASH.

    Cửa sổ đầu cuối nơi VS Code được mở từ thư mục của kho lưu trữ.

  1. Khi VS Code mở, tiện ích mở rộng "Remote Development" sẽ phát hiện bộ chứa Docker. Như minh họa trong hình bên dưới, bạn sẽ thấy thông báo yêu cầu mở lại dự án của mình trong vùng chứa. Nhấp vào nút "Reopen in Container" để tiếp tục.

    Giao diện người dùng VS Code trong đó thông báo mở lại dự án trong Vùng chứa được tô sáng.

  1. Sau khi mở lại dự án của bạn trong Container, bộ chứa Docker sẽ được xây dựng. Như bạn có thể thấy trong hình ảnh bên dưới, bạn có thể nhấp vào thông báo "Starting Dev Container (show log)". Vui lòng hiển thị nhật ký để biết khi nào vùng chứa đã sẵn sàng.

    Giao diện người dùng VS Code trong đó thông báo Bắt đầu Bộ chứa Nhà phát triển được tô sáng.

    Hình ảnh sau đây cho biết giao diện của nhật ký sau khi bạn mở nó.

    Giao diện người dùng mã code VS nơi nhật ký bộ chứa nhà phát triển được hiển thị.

  1. Sau một vài phút, bạn sẽ thấy một thông báo trong nhật ký bắt đầu bằng văn bản Start: Run in container như bạn có thể thấy trong hình bên dưới. Thông báo này cho biết vùng chứa dev đã sẵn sàng. Bạn có thể đóng cửa sổ đầu cuối này một cách an toàn bằng cách nhấp vào biểu tượng thùng rác ở góc trên bên phải của cửa sổ đầu cuối.

    Giao diện người dùng mã code VS hiển thị thông báo cho biết vùng chứa nhà phát triển đã sẵn sàng.

  1. Bây giờ, hãy mở một cửa sổ đầu cuối mới vào VS Code bằng cách nhấp vào menu "Terminal", như trong hình bên dưới.

    VS Code UI hiển thị cách mở một cửa sổ đầu cuối mới.

  1. Từ cửa sổ terminal mới, nhập và thực hiện lệnh sau để nhập vào thư mục code của kho lưu trữ. Bước này rất quan trọng vì tất cả mã code và các bản cập nhật sẽ chạy vào thư mục mã code .

    cd code

    Tiếp theo, sau khi chuyển sang thư mục code, hãy nhập và thực hiện lệnh sau để cập nhật tất cả các phụ thuộc theo yêu cầu của Plutus.

    cabal update

    Hình ảnh sau đây cho thấy một mẫu thực thi các lệnh này.

    Cửa sổ đầu cuối VS Code hiển thị cách chuyển sang thư mục mã code để cập nhật cabal.

    Khi quá trình cabal update thực thi lệnh kết thúc, bạn sẽ thấy dấu nhắc đầu cuối đang chờ di chuyển về phía trước, như trong hình bên dưới.

    Cửa sổ thiết bị đầu cuối VS Code hiển thị dấu nhắc thiết bị đầu cuối sau khi cập nhật cabal.

    Hãy kiên nhẫn trong khi chạy các lệnh này.

    Tùy thuộc vào cấu hình phần cứng của bạn và kết nối internet, thời gian cần thiết để thực hiện lệnh cabal updatecó thể khác nhau. Phải mất ít nhất 5 phút để hoàn thành; tuy nhiên, chúng tôi đã trải qua thời gian chờ lên tới 15 phút trong một số cài đặt phần cứng và internet.

  2. Bây giờ, để hoàn tất thiết lập bộ chứa dev, hãy nhập và thực thi lệnh sau trong thiết bị đầu cuối VS Code để xây dựng tất cả các phụ thuộc theo yêu cầu của Plutus.

    cabal build all

    Một mẫu thực thi lệnh này được hiển thị trong hình bên dưới.

    Cửa sổ đầu cuối VS Code hiển thị lệnh cabal build all.

    Sau khi chạy thành công lệnh này, bạn sẽ thấy dấu nhắc hệ thống không có lỗi, như thể hiện trong hình bên dưới.

    Cửa sổ đầu cuối VS Code hiển thị dấu nhắc hệ thống sau khi thực hiện lệnh cabal build all.

Chúc mừng! Bạn đã cài đặt môi trường làm việc cục bộ của mình.

Hãy kiên nhẫn trong khi chạy lệnh này.

Thời gian cần thiết để thực hiện lệnh này có thể khác nhau tùy thuộc vào cấu hình phần cứng và kết nối internet của bạn. Có thể mất ít nhất 10 phút để hoàn thành. Tuy nhiên, chúng tôi đã trải qua thời gian chờ lên tới 25 trong một số cài đặt phần cứng và internet.


Hướng dẫn khắc phục sự cố

Chúng tôi hy vọng bạn thiết lập môi trường làm việc tại cục bộ của mình một cách suôn sẻ! Tuy nhiên, chúng tôi biết các sự cố có thể xảy ra, vì vậy vui lòng làm theo hướng dẫn này trong trường hợp bạn phát hiện bất kỳ sự cố nào trong quá trình cài đặt.

Các vấn đề chung

Các vấn đề sau đây có thể xảy ra trên bất kỳ hệ điều hành nào.

  • Một số Người tiên phong đã báo cáo rằng họ nhận được thông báo này từ thiết bị đầu cuối Docker trong VS Code.

    The connection to the terminal's pty host process is unresponsive, the terminals may stop working.

    Giải pháp cho vấn đề này là gỡ cài đặt VS Code và cài đặt phiên bản Người dùng nội bộ. Bạn có thể tải xuống phiên bản này từ trang này.

Sự cố Linux

  • Nếu khi mở bộ chứa Docker trong VS Code, bạn nhận được thông báo lỗi cho biết View container 'remote' requires 'enabledApiProposals: ["contribViewsRemote"]' to be added to 'Remote'. Bạn có thể gỡ cài đặt VS Code và cài đặt phiên bản Người dùng nội bộ. Bạn có thể tải xuống phiên bản này từ trang này. Để tìm hiểu thêm về lý do tại sao sự cố này có thể xảy ra, vui lòng đọc bài viết Sử dụng API được đề xuất từ ​​tài liệu Visual Studio Code.

Sự cố Windows

  • Nếu bạn đã cài đặt Docker Desktop trước khi tham gia PPP, bạn có thể nhận được thông báo lỗi yêu cầu cài đặt phiên bản WSL mới nhất. Một ví dụ về thông báo lỗi được hiển thị trong hình bên dưới. Vui lòng tham khảo trang này từ Hệ thống con Windows cho Tài liệu Linux để biết thêm hướng dẫn.

    Thông báo lỗi mẫu từ Docker Desktop trong Windows yêu cầu cập nhật nhân WSL.

Nguồn bài viết tại đây


Picture