Vyper bao gồm các tập lệnh dòng lệnh sau để biên dịch hợp đồng:
vyper
: Biên dịch các tệp hợp đồng vyper thành LLL hoặc bytecode
vyper-json
: Cung cấp giao diện JSON cho trình biên dịch
vyper
vyper cung cấp quyền truy cập dòng lệnh vào trình biên dịch. Nó có thể tạo ra nhiều đầu ra khác nhau
để compile contract
$ vyper yourFileName.vy
Thêm cờ -f để chỉ định định dạng đầu ra nào sẽ trả về. Sử dụng vyper --help để có danh sách đầy đủ các tùy chọn đầu ra.
$ vyper -f abi,bytecode,bytecode_runtime,ir,asm,source_map,method_identifiers yourFileName.vy
Cờ -p
cho phép bạn đặt đường dẫn gốc được sử dụng khi tìm kiếm các tệp interface để import. Nếu không có gì được đưa ra.
$ vyper -p yourProject yourProject/yourFileName.vy
vyper-json
vyper-json
cung cấp giao diện JSON cho trình biên dịch. Nó mong đợi một đầu vào được định dạng JSON và trả về kết quả biên dịch trong một đầu ra có định dạng JSON.
Để biên dịch từ JSON được cung cấp qua stdin:
vyper-json
Để biên dịch từ tệp JSON:
$ vyper-json yourProject.json
Theo mặc định, đầu ra được gửi đến stdout. Để chuyển hướng đến một tệp, hãy sử dụng cờ -o
:
$ vyper-json -o compiled.json
Importing Interfaces
vyper-json
tìm kiếm các interface đã nhập theo trình tự sau:
- Các interface được xác định trong trường
interface
của JSON đầu vào
- Các interface có nguồn gốc được tạo từ các hợp đồng trong trường
sources
của JSON đầu vào
- (Tùy chọn) Hệ thống tệp cục bộ, nếu đường dẫn gốc được khai báo rõ ràng qua cờ
-p
.
Online Compilers
Remix IDE là một trình biên dịch và Javascript VM để phát triển và thử nghiệm các hợp đồng trong Vyper cũng như Solidity.
Setting the Target EVM Version
Khi bạn biên dịch mã hợp đồng của mình, bạn có thể chỉ định phiên bản máy ảo Ethereum để biên dịch để tránh các tính năng hoặc hành vi cụ thể.
Khi biên dịch qua vyper, hãy bao gồm cờ --evm-version
:
$ vyper --evm-version [VERSION]
Khi sử dụng giao diện JSON, hãy thêm "evmVersion"
trong trường "settings"
:
{
"settings": {
"evmVersion": "[VERSION]"
}
}