使用 erpc worker import 部署您已有的應用
erpc worker import 會按原樣接收您已有的應用。它會寫入應用的 erpc.toml,不修改任何程式碼。本頁說明 ERPC CLI
v0.1.0-rc.4,這是發行前版本。匯入並部署
應用可以是目前在 systemd 或 Docker 下執行的機器人,也可以是以其他語言撰寫的服務。
import 會讀取應用的目錄,並寫出該目錄所描述的 erpc.toml。應用中不會寫入其他任何東西,其中的任何內容都不會被執行,其程式碼也不會被修改。erpc 會將應用加入它自己的清單,與 init 相同。bash
- Cargo 套件以
cargo build --release構建,與init建立的應用相同。除非--name另有指定,應用以套件名稱命名;套件有多個二進位檔時,以--bin選擇其中一個。工作區根目錄會被拒絕:請將import指向套件本身。 - 在任何地方、以任何語言構建的 Linux 二進位檔,以
--binary <PATH>用相同方式部署,並按原樣傳送。erpc 會讀取其標頭,並拒絕伺服器無法執行的檔案:macOS 或 Windows 二進位檔、指令碼、共用程式庫、被截斷的檔案,或架構與build.target不同的檔案。二進位檔必須是靜態連結的,或連結 glibc 且其載入器位於一般路徑。它是應用的一個檔案:以該名稱存在、卻通往應用目錄之外的連結會被拒絕。若二進位檔無法使用,部署會在購買伺服器之前停止。若部署應帶入某項變更,請在部署前重新構建二進位檔。
import 讀取的內容
import --chain 指定應用所屬的鏈,預設為 solana。import 如何讀取目錄
這個目錄可能是您一分鐘前才複製下來的,因此
import 會謹慎地讀取它。erpc.toml一律新建。當該路徑上已存在任何東西時,import會拒絕:它絕不覆寫檔案,也絕不透過連結寫入。- 它讀取目錄內的一般檔案,每個檔案最大 1 MiB。通往目錄之外的連結、管道、裝置、更大的檔案,以及不是 UTF-8 的檔案都不會被讀取,且會逐一說明。
- 它視為 Secret 的值都不會被複製。它依形式尋找憑證,因此這項檢查是一張網,而不是證明:形式不在它認知範圍內的 Secret,會像任何值一樣被複製。
erpc.toml應由您在提交之前自行閱讀。 erpc worker check會警告的種類,比import不予寫入的種類少。對於[vars]下路徑中帶有金鑰的 RPC URL,或助記詞,它不會提出任何警告:請以erpc worker secret put保存這些值。
您的應用在伺服器上會看到什麼
- 設定以環境變數的形式送達,
[vars]與[secrets]皆然。伺服器上沒有.env,而以 dotenv 程式庫讀取.env檔案的應用仍可照常運作。 - 它自己的目錄是唯讀的。它寫入的檔案位於
ERPC_WORKER_STATE_DIR所指定的目錄下(也是它的HOME),部署會保留該目錄,erpc worker backup會備份它。 - 交易金鑰經由管道送達,而不是透過檔案:在應用啟動時,於
ERPC_WORKER_KEY_FD所指定的檔案描述元上傳送 64 位元組,僅傳送一次,公鑰則位於ERPC_WORKER_PUBKEY。讀取金鑰檔案的應用,需要修改的就是那一處讀取;pumpfun 模板的src/wallet.rs示範了做法。 - 它就是一個二進位檔,加上
run.files列出的檔案。它在執行時開啟的其他任何檔案,都必須列在該清單中。
後續步驟
- 金鑰與 Secret:保存
import未寫入的設定,以及交易金鑰。 - 防火牆與 WAF:選擇誰可以連到應用。
- worker 指南:
import讀取的每個檔案,以及它尋找的憑證形式。






