Déployer une application existante avec erpc worker import
erpc worker import prend en charge une application que vous avez déjà, telle quelle. Il écrit son erpc.toml et ne modifie rien de son code.Cette page décrit ERPC CLI
v0.1.0-rc.4, une préversion.Importer et déployer
L'application peut être un bot qui tourne aujourd'hui sous systemd ou Docker, ou un service écrit dans un autre langage.
import lit le répertoire de l'application et écrit le erpc.toml que ce répertoire décrit. Rien d'autre n'est écrit dans l'application, rien n'y est exécuté et son code n'est pas modifié. erpc ajoute l'application à sa propre liste, comme le fait init.bash
- Un package Cargo est compilé avec
cargo build --release, comme une application créée parinit. L'application prend le nom du package, sauf si--nameen décide autrement, et--binchoisit le binaire lorsque le package en contient plusieurs. Une racine de workspace est refusée : pointezimportsur le package. - Un binaire Linux compilé n'importe où, dans n'importe quel langage, se déploie de la même façon avec
--binary <PATH>, livré tel quel. erpc lit son en-tête et refuse un binaire qu'un serveur ne peut pas exécuter : un binaire macOS ou Windows, un script, une bibliothèque partagée, un fichier tronqué, ou une autre architecture quebuild.target. Le binaire doit être statique, ou lié à la glibc avec son chargeur à l'emplacement habituel. C'est un fichier de l'application : un lien portant ce nom qui mène hors du répertoire de l'application est refusé. Un déploiement s'arrête sur un binaire inutilisable avant l'achat d'un serveur. Recompilez le binaire avant un déploiement qui doit embarquer une modification.
Ce que lit import
import --chain indique la chaîne à laquelle l'application est destinée, solana par défaut.Comment import lit un répertoire
Le répertoire peut être un dépôt que vous avez cloné il y a une minute, aussi
import le lit-il avec précaution.erpc.tomlest créé à neuf. Si quoi que ce soit existe à ce chemin,importrefuse : il n'écrit jamais par-dessus un fichier ni à travers un lien.- Il lit les fichiers ordinaires situés dans le répertoire, jusqu'à 1 MiB chacun. Un lien qui mène hors du répertoire, un pipe, un périphérique, un fichier plus gros et un fichier qui n'est pas en UTF-8 ne sont pas lus, et chacun est signalé.
- Aucune valeur qu'il prend pour un secret n'est copiée. Il recherche les identifiants d'après leur forme : la vérification est donc un filet, pas une preuve, et un secret d'une forme qu'il ne connaît pas est copié comme n'importe quelle valeur. C'est à vous de relire
erpc.tomlavant de le commiter. erpc worker checkavertit pour moins de types de valeurs que ceux qu'importécarte. Il ne dit rien d'une URL RPC contenant une clé dans son chemin, ni d'une phrase de récupération, placées sous[vars]: conservez-les avecerpc worker secret put.
Ce que votre application trouve sur le serveur
- Les paramètres arrivent sous forme de variables d'environnement,
[vars]comme[secrets]. Il n'y a pas de.envsur le serveur, et une application qui lit un fichier.envavec une bibliothèque dotenv continue de fonctionner. - Son propre répertoire est en lecture seule. Les fichiers qu'elle écrit vont dans le répertoire que désigne
ERPC_WORKER_STATE_DIR(c'est aussi sonHOME), qu'un déploiement conserve et queerpc worker backupsauvegarde. - Une clé de trading arrive par un pipe, pas dans un fichier : 64 octets sur le descripteur de fichier que désigne
ERPC_WORKER_KEY_FD, une seule fois, au démarrage de l'application, avec la clé publique dansERPC_WORKER_PUBKEY. Une application qui lit un fichier de clé n'a que cette lecture à modifier ; lesrc/wallet.rsdu modèle pumpfun montre comment. - C'est un seul binaire, plus les fichiers que liste
run.files. Tout autre fichier qu'elle ouvre à l'exécution doit figurer dans cette liste.
Prochaines étapes
- Clés et secrets : conservez les paramètres qu'
importa écartés, ainsi que la clé de trading. - Pare-feu et WAF : choisissez qui peut atteindre l'application.
- Le guide du worker : chaque fichier que lit
import, et les formes d'identifiants qu'il recherche.






