Een bestaande app uitrollen met erpc worker import
erpc worker import neemt een app die u al hebt over zoals die is. Het schrijft de erpc.toml van de app en wijzigt niets aan de code.Deze pagina beschrijft ERPC CLI
v0.1.0-rc.4, een pre-release.Importeren en uitrollen
De app kan een bot zijn die nu onder systemd of Docker draait, of een service in een andere taal.
import leest de map van de app en schrijft de erpc.toml die de app beschrijft. Verder wordt er niets in de app geschreven, wordt er niets in uitgevoerd en wordt de code niet gewijzigd. erpc zet de app op zijn eigen lijst, net als init.bash
- Een Cargo-package wordt gebouwd met
cargo build --release, net als een app die metinitis gemaakt. De app krijgt de naam van het package, tenzij--nameiets anders zegt, en--binkiest de binary als het package er meerdere heeft. Een workspace-root wordt geweigerd: wijsimportnaar het package. - Een Linux-binary die waar dan ook is gebouwd, in elke taal, wordt op dezelfde manier uitgerold met
--binary <PATH>, en wordt meegeleverd zoals hij is. erpc leest de header en weigert een binary die een server niet kan draaien: een macOS- of Windows-binary, een script, een shared library, een afgekapt bestand of een andere architectuur danbuild.target. De binary moet statisch zijn, of gelinkt tegen glibc met de loader op het gebruikelijke pad. Het is een bestand van de app: een link onder die naam die naar buiten de map van de app leidt, wordt geweigerd. Een uitrol stopt bij een onbruikbare binary voordat er een server wordt gekocht. Bouw de binary opnieuw vóór een uitrol die een wijziging moet meenemen.
Wat import leest
import --chain noemt de chain waarvoor de app is, standaard solana.Hoe import een map leest
De map kan er een zijn die u een minuut geleden hebt gekloond, dus
import leest hem zorgvuldig.erpc.tomlwordt nieuw gemaakt. Als er al iets op dat pad staat, weigertimport: het schrijft nooit over een bestand heen of via een link.- Het leest gewone bestanden binnen de map, tot 1 MiB per bestand. Een link die naar buiten de map leidt, een pipe, een device, een groter bestand en een bestand dat geen UTF-8 is, worden niet gelezen, en dat wordt bij elk ervan gemeld.
- Geen waarde die het voor een secret houdt, wordt gekopieerd. Het zoekt toegangsgegevens op hun vorm, dus de controle is een vangnet, geen bewijs: een secret in een vorm die het niet kent, wordt gekopieerd zoals elke andere waarde. Het is aan u om
erpc.tomlte lezen voordat u het commit. erpc worker checkwaarschuwt voor minder soorten danimporttegenhoudt. Het zegt niets over een RPC-URL met een sleutel in het pad, of over een herstelzin, onder[vars]: bewaar die meterpc worker secret put.
Wat uw app op de server aantreft
- Instellingen komen binnen als omgevingsvariabelen,
[vars]en[secrets]allebei. Er is geen.envop de server, en een app die met een dotenv-library een.env-bestand leest, blijft werken. - De eigen map van de app is alleen-lezen. Bestanden die de app schrijft, komen in de map die
ERPC_WORKER_STATE_DIRnoemt (ook deHOMEvan de app); een uitrol laat die map staan enerpc worker backupmaakt er een back-up van. - Een tradingsleutel komt binnen via een pipe, niet in een bestand: 64 bytes op de file descriptor die
ERPC_WORKER_KEY_FDnoemt, één keer, wanneer de app start, met de publieke sleutel inERPC_WORKER_PUBKEY. In een app die een sleutelbestand leest, moet die ene leesactie worden aangepast;src/wallet.rsvan het pumpfun-sjabloon laat zien hoe. - De app is één binary plus de bestanden die
run.filesopsomt. Al het andere dat de app tijdens het draaien opent, moet in die lijst staan.
Volgende stappen
- Sleutels en secrets: bewaar de instellingen die
importheeft tegengehouden, en de tradingsleutel. - Firewall en WAF: kies wie de app mag bereiken.
- De worker-handleiding: elk bestand dat
importleest, en de vormen van toegangsgegevens waarnaar het zoekt.






