Distribuisci un'app che hai già con erpc worker import
erpc worker import accoglie un'app che hai già, così com'è. Scrive per l'app il suo erpc.toml e non modifica nulla del suo codice.Questa pagina descrive ERPC CLI
v0.1.0-rc.4, una versione pre-release.Importare e distribuire
L'app può essere un bot che oggi gira sotto systemd o Docker, oppure un servizio in un altro linguaggio.
import legge la directory dell'app e scrive il file erpc.toml che quella directory descrive. Nient'altro viene scritto nell'app, nulla al suo interno viene eseguito e il suo codice non viene modificato. erpc aggiunge l'app al proprio elenco, come fa init.bash
- Un pacchetto Cargo viene compilato con
cargo build --release, come un'app creata dainit. L'app prende il nome del pacchetto, a meno che--namenon indichi altro, e--binsceglie il binario quando il pacchetto ne ha diversi. La radice di un workspace viene rifiutata: puntaimportal pacchetto. - Un binario Linux compilato ovunque, in qualsiasi linguaggio, si distribuisce allo stesso modo con
--binary <PATH>, e viene inviato così com'è. erpc ne legge l'intestazione e rifiuta un binario che un server non può eseguire: un binario macOS o Windows, uno script, una libreria condivisa, un file troncato o un'architettura diversa dabuild.target. Il binario deve essere statico, oppure collegato a glibc con il suo loader nel percorso consueto. È un file dell'app: un link con quel nome che porta fuori dalla directory dell'app viene rifiutato. Una distribuzione con un binario inutilizzabile si ferma prima che venga acquistato un server. Compila di nuovo il binario prima di una distribuzione che debba portare una modifica.
Cosa legge import
import --chain indica la chain a cui è destinata l'app, solana per impostazione predefinita.Come import legge una directory
La directory può essere una che hai clonato un minuto fa, quindi
import la legge con cautela.erpc.tomlviene creato da zero. Quando in quel percorso c'è già qualcosa,importsi rifiuta: non scrive mai sopra un file né attraverso un link.- Legge i file regolari all'interno della directory, fino a 1 MiB ciascuno. Un link che porta fuori dalla directory, una pipe, un dispositivo, un file più grande e un file che non è UTF-8 non vengono letti, e ciascuno viene segnalato.
- Nessun valore che considera un secret viene copiato. Cerca le credenziali in base alla loro forma, quindi il controllo è una rete, non una prova: un secret in una forma che non conosce viene copiato come qualsiasi altro valore. Sta a te leggere
erpc.tomlprima di includerlo in un commit. erpc worker checkavvisa di meno tipi di quantiimportne trattenga. Non dice nulla di un URL RPC con una chiave nel percorso, né di una frase di recupero, sotto[vars]: conservali conerpc worker secret put.
Cosa trova la tua app sul server
- Le impostazioni arrivano come variabili d'ambiente, sia
[vars]sia[secrets]. Sul server non c'è alcun.env, e un'app che legge un file.envcon una libreria dotenv continua a funzionare. - La sua directory è di sola lettura. I file che scrive vanno sotto la directory indicata da
ERPC_WORKER_STATE_DIR(che è anche la suaHOME), che una distribuzione conserva e cheerpc worker backupinclude nel backup. - Una chiave di trading arriva su una pipe, non in un file: 64 byte sul file descriptor indicato da
ERPC_WORKER_KEY_FD, una sola volta, all'avvio dell'app, con la chiave pubblica inERPC_WORKER_PUBKEY. In un'app che legge un file di chiave è quella sola lettura a dover cambiare;src/wallet.rsdel template pumpfun mostra come. - È un unico binario più i file elencati in
run.files. Qualsiasi altra cosa che apre durante l'esecuzione deve essere in quell'elenco.
Prossimi passi
- Chiavi e secret: conserva le impostazioni che
importha trattenuto, e la chiave di trading. - Firewall e WAF: scegli chi può raggiungere l'app.
- La guida al worker: ogni file che
importlegge e le forme di credenziali che cerca.






