Alternatif Cairo Dev Environment Kurulumu

Alim Sahin
2 min readApr 16, 2022

--

Cairo, Starknet üzerinde kontrat geliştirmek için kullanılan programlama dilidir. Geliştirmek için gerekli ortamı kurarken, rehberde bulunan adımları yaptığımda windows bilgisayarıma rahat bir şekilde kurmayı başarmıştım fakat aynı ortamı macos’a kurmaya çalıştığımda maalesef windowsta olduğu gibi kolay olmadı.

Bu yazıda nix ile cairo tutorial’ında bulunan kuruluma alternatif bir yol göstereceğim.

NIX Nedir ?

Nix, paket yönetimi ve sistem yapılandırmasında kolaylık sağlayan bir araçtır. benzersiz bir yaklaşım getiren bir araçtır. Özellikle, bilgisayarınızın geri kalanından ayrı ortamlar oluşturmak istediğinizde buna olanak tanır. Nixos, her şey için NIX kullanan bir linux dağıtımıdır, ancak NIX’i herhangi bir unix sistemine tek bir komutla yükleyebilirsiniz.

Linux

sh <(curl -L https://nixos.org/nix/install) — daemon

Macos

sh <(curl -L https://nixos.org/nix/install)

Bu komutların güncel olup olmadığını kontrol etmeyi unutmayın: https://nixos.org/download.html

Nix kurulduğunda, nix-shell gibi yeni komutlara erişiminiz olmalıdır (terminalinizi yeniden başlatmanız gerekebilir). Projeniz için ihtiyaç duyacağınız tüm araçları içeren, bilgisayarınızın geri kalanından ayrı bir shell açmak için nix-shell kullanacağız.

Cairo Environment İçin Hazırız

Cairo-lang.org’da bulunan kaynağa göre, bir python ortamı tanımlamamız ve gmp kitaplığını kullanmamız gerekiyor. Bunu yapmak nix ile gerçekten çok kolay (ve isterseniz kendi kitaplıklarınızı ve python paketlerinizi eklemek için kolayca değişiklik yapabilirsiniz).

Kurulumu yapmak için iki dosyaya ihtiyacımız olacak. Boş bir klasorde bunları oluşturabiliriz: Kullanılacak kitaplıkları (python ve gmp) listeleyen shell.nix ve python’un hangi paketleri kuracağını bildiren requirements.txt dosyası.

shell.nix dosyasının içerisine bu linkte bulunan kodları yapıştırın. Eğer kurulumda farklı paketleri de yüklemek isterseniz buildInputs adlı listeye ekleyebilirsiniz.

buildInputs = [
pythonPackages.python
pythonPackages.venvShellHook
gmp
];

Diğer dosyamız requirements.txt için ihtiyacımız sadece aşağıdaki satırladır. Bunların güncel olduğunu kontrol etmeyi unutmayın:

ecdsa
fastecdsa
sympy
cairo-lang
cairo-nile

Ortamı başlatmak için, bu shell.nix dosyasını içeren klasörde açık olan bir terminalde nix-shell yazmanız yeterlidir. Bu otomatik olarak env klasörünü oluşturacaktır (git kullanıyorsanız onu gitignore’a eklediğinizden emin olun).

Cairo Kodlarını Çalıştırmaya Hazırız!

  • test.cairo adında bir dosya oluşturun ve bu kodu yapıştırın.
  • Bu command ile compile edin:
cairo-compile test.cairo --output test_compiled.json
  • Şimdi çalıştırma vakti:
cairo-run   --program=test_compiled.json --print_output   --print_info --relocate_prints

Şu şekilde görünmeli:

Shell’den çıkmak için exit yazmanız yeterlidir.

Bu yazının orijinaline bu linkten ulaşabilirsiniz.

Gecenlerde nix-shell komutunun bulunamadığına dair bir hata aldım. Sorunu bu sitedeki yöntem ile çözdüm. Bunu da ekliyorum.

--

--

No responses yet