Deploy aplikasi pertama Anda ke server dengan erpc worker
Buat HTTP API kecil dengan Rust menggunakan
erpc worker, jalankan di mesin Anda, lalu deploy ke server dengan empat perintah.Halaman ini menjelaskan ERPC CLI
v0.1.0-rc.4, versi pra-rilis.erpc worker (alias erpc w) mengompilasi aplikasi Anda menjadi biner Linux native dan menjalankannya di ERPC VPS, VPS per jam yang baru, atau server milik Anda sendiri, di bawah unit systemd yang diperketat tanpa Docker dan tanpa runtime di antaranya.Rilis yang tidak berjalan dalam keadaan sehat di-rollback ke rilis sebelumnya, dan beberapa aplikasi dapat berbagi satu server, masing-masing di port-nya sendiri. Semua hal tentang aplikasi ada di
erpc.toml di root-nya, yang tidak berisi secret dan dapat di-commit.Prasyarat
- Akun ERPC, yang sudah masuk di mesin ini dengan
erpc login(Masuk dan kunci). - ERPC Credit, untuk VPS per jam yang baru. Produk per jam dibayar dari ERPC Credit, yang dibeli terlebih dahulu, dan aktivasi yang biayanya tidak tercukupi oleh kredit akan ditolak. Harga tercantum di Harga dan di ERPC Web Dashboard.
- Kunci SSH di mesin ini:
ssh-keygen -t ed25519, atauerpc config set ssh_key <path>.pubuntuk kunci yang sudah Anda miliki. - Cara mem-build untuk Linux. Dari Mac atau Windows: target Rust untuk server (
rustup target add x86_64-unknown-linux-gnu),zig(brew install zigdi macOS), dancargo-zigbuild(cargo install cargo-zigbuild --locked). Dari mesin Linux yang sejenis dengan server (x86-64 untuk setiap server ERPC), cukup cargo saja. Tanpa tool cross-build, aplikasi di-build dengan toolchain milik mesin ini sendiri, dan biner tersebut dengan begitu memerlukan glibc yang dipakai saat linking, yang disebutkan olehbuilddandeploy. Dengan tool tersebut, aplikasi di-build untuk glibc 2.31 ke atas.
Deploy HelloWorld
HelloWorld adalah HTTP API kecil dengan Rust yang tidak memerlukan kunci, secret, maupun line data. Aplikasi ini menjawab
GET /, GET /hello/{name}, dan GET /healthz.bash
initmembuat aplikasi di./hello-world, besertaerpc.tomlmiliknya.runmem-build aplikasi dan menjalankannya di mesin Anda, sehingga Anda dapat memanggilnya dengan curl terlebih dahulu.deploymem-build aplikasi untuk server lalu men-deploy-nya. Apa pun yang memerlukan biaya ditampilkan terlebih dahulu beserta harga per jam, saldo Anda, dan berapa lama kredit akan bertahan, dan di terminal prosesnya baru dimulai setelah jawaban "ya".apimemanggil API aplikasi yang sudah di-deploy dari mesin Anda, sementara API tetap berada di loopback server.
erpc worker check menampilkan apa yang masih kurang pada aplikasi, dan deploy menolak sebelum membeli apa pun jika ada yang kurang. erpc worker build hanya menjalankan build, yaitu cara untuk melihat build gagal sebelum server dibeli.Pilih template
erpc worker init menanyakan satu hal: apa yang akan dibuat, dipilih dengan tombol panah.- HelloWorld adalah template untuk memulai.
- HFT dan pumpfun-bot untuk saat ini sama-sama dibuat dari template pumpfun: bot trading pump.fun (PumpSwap) yang di-port dari ValidatorsDAO/solana-stream.
--template hft (atau helloworld, pumpfun-bot, atau id template) melewati menu pilihan, dan --name memberi nama aplikasi. Tanpa nama, aplikasi dinamai sesuai pilihan (hello-world, hft-bot, pumpfun-bot). Jika direktori dengan nama tersebut sudah ada, orang yang memilih mendapatkan -2, -3, dan seterusnya, sedangkan skrip (--yes, --json, tanpa terminal) mendapatkan error. Jika tidak ada orang yang dapat ditanya dan tidak ada --template, yang dibuat adalah HelloWorld.Bot trading memerlukan kunci dan beberapa pengaturan sebelum dapat berjalan. Urutannya:
bash
init mencetak urutan ini untuk aplikasi yang dibuatnya. Kunci dan secret menjelaskan di mana kunci dan secret disimpan.Pilih server
deploy memakai yang pertama dari daftar berikut:- server yang sudah disebut oleh
[env.<name>]milik aplikasi; --vps <id>, ERPC VPS milik akun Anda;--new-vps, VPS per jam termurah di region yang paling dekat dengan mesin ini berdasarkan zona waktunya (--regiondan--planmemilih yang lain);--host <address>, server milik Anda sendiri: Ubuntu atau Debian dengan systemd, nftables,sudo, dan Python 3 di/usr/bin/python3, yang diakses sebagai root atau sebagai pengguna dengan sudo tanpa kata sandi;- selain itu, di terminal, daftar VPS akun Anda yang sedang berjalan, dengan "start a new one" di bagian akhir.
Di server milik Anda sendiri, firewall worker men-drop setiap koneksi masuk kecuali SSH dan port aplikasi, jadi server yang melayani hal lain bukan server yang tepat untuk dipakai.
Deploy tanpa orang di terminal
Skrip, atau agen seperti
erpc ai, tidak memiliki terminal untuk menjawab. Dua flag memungkinkannya tetap menyelesaikan pekerjaan tersebut:bash
--yesmenjawab harga setiap produk per jam yang disebut oleh perintah (--new-vps,--grpc,--shreds,--unlimited). Flag ini juga menjawab login pertama ke server yang belum diatur erpc agar hanya dapat diakses dengan kunci, baik server baru maupun server yang disebut dengan--vps <ID>: erpc masuk sekali dengan kata sandi server, memasang kunci Anda, lalu menonaktifkan login dengan kata sandi. Tanpa--yesdan tanpa terminal, aktivasi ditolak sebelum apa pun dibeli, dengan status keluar 3.- Memilih di antara server Anda tetap memerlukan orang. Sebutkan server dengan
--new-vps,--vps <ID>, atau--host. --preparemelakukan semua hal yang tidak memerlukan kunci trading maupun secret, dan tidak memulai, menghentikan, atau me-restart apa pun.erpc worker deployberikutnya di terminal menyerahkan kunci dan secret, lalu menjalankan aplikasi. Kunci trading hanya dibaca untuk orang yang berada di terminal.
Hubungkan aplikasi Anda ke gRPC, Shreds, dan Unlimited RPC
Line per jam ERPC menerima server berdasarkan alamatnya dan tidak menerima token. Setiap line diaktifkan untuk server dengan satu flag pada
deploy, dan aplikasi menerima endpoint line tersebut sebagai pengaturan:- Setiap line adalah yang termurah dalam kelompoknya, kecuali
--grpc-plan,--shreds-plan, atau--unlimited-planmenyebut salah satunya. - Unlimited RPC berjalan di server dedicated yang memerlukan waktu hingga 45 menit untuk disiapkan. Server ini melayani
sendTransactiondan sejumlah kecil method baca, bukangetProgramAccountsataugetTokenAccountsByOwner. Endpoint-nya adalah HTTP biasa (tanpa TLS) dan hanya menerima alamat yang di-whitelist.
Line untuk menjalankan aplikasi di mesin Anda
erpc worker run juga menerima --grpc dan --shreds, untuk mencoba aplikasi di sini dengan data nyata sebelum aplikasi dipindahkan ke server.- Alamat: line menerima alamat IPv4 publik mesin ini, yang Anda berikan dengan
--ip. erpc tidak mencarinya sendiri. - Pembelian: line baru hanya dibeli di terminal, setelah harganya ditampilkan.
runtidak memiliki--yes. - Mengakhiri: saat aplikasi yang dijalankan berhenti, setiap line per jam diakhiri setelah Anda ditanya.
--keep-linesmempertahankannya, dan line tersebut tetap ditagih. Jika proses tersebut berakhir dengan cara lain (terminal ditutup, Ctrl-C kedua), line tetap ada dan tetap ditagih. - Angka: apa yang diukur aplikasi di sini mencakup jarak dari mesin ini ke line, sehingga hasilnya lebih lambat daripada aplikasi yang sama di server yang dekat dengan line tersebut.
Langkah Selanjutnya
- Impor aplikasi: Deploy aplikasi yang sudah Anda miliki, dalam bahasa apa pun.
- Kunci dan secret: Jauhkan kunci trading dan secret dari disk server.
- Firewall dan WAF: Tempatkan API publik di belakang WAF.
- Status dan penagihan: Pantau aplikasi dan lihat biayanya per jam.






