Elinizdeki bir uygulamayı erpc worker import ile dağıtın
erpc worker import, elinizde olan bir uygulamayı olduğu gibi alır. Uygulamanın erpc.toml dosyasını yazar ve kodunun hiçbir kısmını değiştirmez.Bu sayfada bir ön sürüm olan ERPC CLI
v0.1.0-rc.4 anlatılır.İçe aktarın ve dağıtın
Uygulama, bugün systemd veya Docker altında çalışan bir bot ya da başka bir dilde yazılmış bir servis olabilir.
import, uygulamanın dizinini okur ve dizinin tarif ettiği erpc.toml dosyasını yazar. Uygulamaya başka hiçbir şey yazılmaz, içindeki hiçbir şey çalıştırılmaz ve kodu değiştirilmez. erpc, init komutunda olduğu gibi, uygulamayı kendi listesine ekler.bash
- Bir Cargo paketi,
initile oluşturulan bir uygulama gibicargo build --releaseile derlenir.--namebaşka bir ad vermedikçe uygulama, paketin adını alır; paketin birden çok binary'si olduğunda--binbinary'yi seçer. Bir workspace kökü reddedilir:importkomutunu pakete yöneltin. - Herhangi bir yerde, herhangi bir dilde derlenmiş bir Linux binary'si de
--binary <PATH>ile aynı şekilde dağıtılır ve olduğu gibi gönderilir. erpc, binary'nin başlığını okur ve bir sunucunun çalıştıramayacağı bir binary'yi reddeder: bir macOS veya Windows binary'si, bir betik, paylaşılan bir kütüphane, yarıda kesilmiş bir dosya ya dabuild.targetdışında bir mimari için derlenmiş bir binary. Binary statik olmalı ya da yükleyicisi olağan yolda bulunan glibc'ye bağlanmış olmalıdır. Binary uygulamanın bir dosyasıdır: bu ad altında, uygulamanın dizininin dışına çıkan bir link reddedilir. Kullanılamaz bir binary'de dağıtım, bir sunucu satın alınmadan önce durur. Bir değişikliği taşıması gereken bir dağıtımdan önce binary'yi yeniden derleyin.
import neleri okur
import --chain, uygulamanın hangi zincir için olduğunu belirtir; varsayılan solana zinciridir.import bir dizini nasıl okur
Dizin bir dakika önce klonladığınız bir dizin olabilir; bu yüzden
import onu dikkatle okur.erpc.tomlyeni oluşturulur. O yolda herhangi bir şey varsaimportyazmayı reddeder: hiçbir zaman bir dosyanın üzerine ya da bir link üzerinden yazmaz.- Dizinin içindeki normal dosyaları, her biri en fazla 1 MiB olmak üzere okur. Dizinin dışına çıkan bir link, bir pipe, bir aygıt, daha büyük bir dosya ve UTF-8 olmayan bir dosya okunmaz ve her biri bildirilir.
- Gizli değer saydığı hiçbir değer kopyalanmaz. Kimlik bilgilerini biçimlerine göre arar; bu yüzden bu kontrol bir kanıt değil, bir süzgeçtir: tanımadığı bir biçimdeki gizli değer, herhangi bir değer gibi kopyalanır.
erpc.tomldosyasını commit etmeden önce okumak size düşer. erpc worker check,importkomutunun geri tuttuğundan daha az türde uyarı verir.[vars]altındaki, yolunda anahtar bulunan bir RPC URL'si ya da bir kurtarma ifadesi hakkında hiçbir şey söylemez: bunlarıerpc worker secret putile saklayın.
Uygulamanızın sunucuda bulduğu ortam
- Ayarlar,
[vars]ve[secrets]için aynı şekilde, ortam değişkenleri olarak gelir. Sunucuda.envyoktur ve bir dotenv kütüphanesiyle.envdosyası okuyan bir uygulama çalışmaya devam eder. - Uygulamanın kendi dizini salt okunurdur. Yazdığı dosyalar,
ERPC_WORKER_STATE_DIRdeğişkeninin belirttiği dizinin (aynı zamandaHOMEdizini) altına gider; bu dizini bir dağıtım korur veerpc worker backupyedekler. - Trading anahtarı bir dosyada değil, bir pipe üzerinden gelir: uygulama başladığında bir kez,
ERPC_WORKER_KEY_FDdeğişkeninin belirttiği dosya tanımlayıcısında 64 bayt olarak gelir; açık anahtar iseERPC_WORKER_PUBKEYiçindedir. Bir anahtar dosyası okuyan bir uygulamada değiştirilecek olan, o tek okumadır; pumpfun şablonununsrc/wallet.rsdosyası bunu gösterir. - Uygulama tek bir binary ve
run.fileslistesindeki dosyalardan oluşur. Çalışma zamanında açtığı başka her şeyin bu listede olması gerekir.
Sonraki adımlar
- Anahtarlar ve gizli değerler:
importkomutunun geri tuttuğu ayarları ve trading anahtarını saklayın. - Güvenlik duvarı ve WAF: Uygulamaya kimin erişebileceğini seçin.
- Worker kılavuzu:
importkomutunun okuduğu her dosya ve aradığı kimlik bilgisi biçimleri.






