Triển khai ứng dụng bạn đã có bằng erpc worker import
erpc worker import tiếp nhận một ứng dụng bạn đã có, giữ nguyên như hiện tại. Nó ghi erpc.toml của ứng dụng và không thay đổi chút code nào của ứng dụng.Trang này mô tả ERPC CLI
v0.1.0-rc.4, một bản pre-release.Nhập và triển khai
Ứng dụng có thể là một bot hiện đang chạy dưới systemd hoặc Docker, hoặc một dịch vụ viết bằng ngôn ngữ khác.
import đọc thư mục của ứng dụng và ghi erpc.toml theo những gì thư mục đó mô tả. Không có gì khác được ghi vào ứng dụng, không có gì trong đó được chạy, và code của nó không bị thay đổi. erpc thêm ứng dụng vào danh sách của chính nó, giống như init.bash
- Một package Cargo được build bằng
cargo build --release, giống như ứng dụng doinittạo. Ứng dụng được đặt tên theo package, trừ khi--namechỉ định khác, và--binchọn binary khi package có nhiều binary. Thư mục gốc của workspace sẽ bị từ chối: hãy trỏimportvào package. - Một binary Linux được build ở bất kỳ đâu, bằng bất kỳ ngôn ngữ nào, được triển khai theo cùng cách với
--binary <PATH>, và được gửi đi nguyên trạng. erpc đọc header của binary và từ chối binary mà server không chạy được: binary macOS hoặc Windows, một script, một thư viện dùng chung, một tệp bị cắt cụt, hoặc binary cho kiến trúc khác vớibuild.target. Binary phải là static, hoặc được liên kết với glibc, với loader nằm ở đường dẫn thông thường. Nó là một tệp của ứng dụng: một link mang tên đó nhưng dẫn ra ngoài thư mục của ứng dụng sẽ bị từ chối. Nếu binary không dùng được, lần triển khai sẽ dừng lại trước khi mua server. Hãy build lại binary trước một lần triển khai cần mang theo thay đổi.
Những gì import đọc
import --chain chỉ định chain mà ứng dụng hướng tới, mặc định là solana.Cách import đọc một thư mục
Thư mục đó có thể là thư mục bạn vừa clone một phút trước, nên
import đọc nó một cách cẩn thận.erpc.tomlđược tạo mới. Khi đã có bất cứ thứ gì ở đường dẫn đó,importtừ chối: nó không bao giờ ghi đè lên một tệp hay ghi xuyên qua một link.- Nó đọc các tệp thông thường bên trong thư mục, tối đa 1 MiB mỗi tệp. Một link dẫn ra ngoài thư mục, một pipe, một thiết bị, một tệp lớn hơn và một tệp không phải UTF-8 sẽ không được đọc, và từng trường hợp đều được thông báo.
- Không giá trị nào mà nó coi là secret được sao chép. Nó tìm thông tin xác thực theo hình dạng, nên bước kiểm tra này là một tấm lưới, không phải một bằng chứng: một secret có hình dạng mà nó không biết sẽ được sao chép như mọi giá trị khác.
erpc.tomllà tệp của bạn, hãy đọc nó trước khi commit. erpc worker checkcảnh báo ít loại hơn những gìimportgiữ lại. Nó không nói gì về một URL RPC có khóa trong path, hay về một cụm từ khôi phục, nằm dưới[vars]: hãy lưu những thứ đó bằngerpc worker secret put.
Ứng dụng của bạn có gì trên server
- Thiết lập đến dưới dạng biến môi trường, cả
[vars]lẫn[secrets]. Trên server không có.env, và một ứng dụng đọc tệp.envbằng thư viện dotenv vẫn tiếp tục hoạt động. - Thư mục riêng của ứng dụng là chỉ đọc. Các tệp nó ghi sẽ nằm dưới thư mục mà
ERPC_WORKER_STATE_DIRchỉ định (cũng làHOMEcủa nó); thư mục này được giữ lại khi triển khai và đượcerpc worker backupsao lưu. - Khóa trading đến qua một pipe, không phải trong một tệp: 64 byte trên file descriptor mà
ERPC_WORKER_KEY_FDchỉ định, một lần, khi ứng dụng khởi động, cùng khóa công khai trongERPC_WORKER_PUBKEY. Một ứng dụng đọc tệp khóa chỉ cần sửa đúng một chỗ đọc đó;src/wallet.rscủa template pumpfun cho thấy cách làm. - Nó là một binary cùng các tệp mà
run.filesliệt kê. Mọi thứ khác nó mở khi chạy đều phải có trong danh sách đó.
Bước tiếp theo
- Khóa và secret: Lưu các thiết lập mà
importđã giữ lại, và khóa trading. - Tường lửa và WAF: Chọn ai được phép truy cập ứng dụng.
- Hướng dẫn worker: Mọi tệp mà
importđọc, và các hình dạng thông tin xác thực mà nó tìm.






