The Cairo Book
Önsöz
Giriş
Cairo Programlama Dili
1.
Başlangıç
❱
1.1.
Kurulum
1.2.
Hello, World!
1.3.
Proving That A Number Is Prime
2.
Genel Programlama Kavramları
❱
2.1.
Değişkenler ve Değişkenlik
2.2.
Veri Türleri
2.3.
Fonksiyonlar
2.4.
Yorumlar
2.5.
Kontrol Akışı
3.
Ortak Koleksiyonlar
❱
3.1.
Diziler
3.2.
Sözlükler
4.
Sahipliği Anlamak
❱
4.1.
Sahiplik Nedir?
4.2.
Referanslar ve Anlık Görüntüler
5.
İlgili Verileri Yapılandırmak için Structları Kullanma
❱
5.1.
Structları Tanımlama ve Örnekleme
5.2.
Structları Kullanan Örnek Bir Program
5.3.
Metod Sözdizimi
6.
Enumlar ve Kalıp Eşleştirme
❱
6.1.
Enumlar
6.2.
Eşleştirme Kontrol Akış Yapısı
6.3.
Concise Control Flow with if let and while let
7.
Cairo Projelerini Paketler, Kasalar ve Modüllerle Yönetme
❱
7.1.
Paketler ve Kasalar
7.2.
Kapsamı Kontrol Etmek için Modülleri Tanımlama
7.3.
Modül Ağacındaki Bir Öğeye Başvurma Yolları
7.4.
Bringing Paths into Scope with the use Keyword
7.5.
Modülleri Farklı Dosyalara Ayırma
8.
Genel Türler ve Traitler
❱
8.1.
Genel Veri Türleri
8.2.
Cairo'daki Özellikler
9.
Hata İşleme
❱
9.1.
Panic ile Kurtarılamayan Hatalar
9.2.
Result ile Kurtarılabilir Hatalar
10.
Cairo Programlarını Test Etme
❱
10.1.
Testler Nasıl Yazılır
10.2.
Test Organization
11.
Functional Language Features: Iterators and Closures
❱
11.1.
Closures: Anonymous Functions that Capture Their Environment
12.
Advanced Cairo Features
❱
12.1.
Özel Veri Yapıları
12.2.
Smart Pointers
12.3.
Deref Coercion
12.4.
Associated Items
12.5.
Operatörün Aşırı Yüklenmesi
12.6.
Hash'lerle Çalışma
12.7.
Makrolar
12.8.
Procedural Macros
12.9.
Inlining in Cairo
12.10.
Printing
12.11.
Arithmetic Circuits
13.
Appendix (Cairo)
❱
13.1.
A - Anahtar Sözcükler
13.2.
B - Operatörler ve Semboller
13.3.
C - Türetilebilir Özellikler
13.4.
D - The Cairo Prelude
13.5.
E - Common Error Messages
13.6.
F - Useful Development Tools
Smart Contracts in Cairo
14.
Introduction to Smart Contracts
15.
Building Starknet Smart Contracts
❱
15.1.
Sözleşme Depolama
❱
15.1.1.
Storage Mappings
15.1.2.
Storage Vecs
15.2.
Sözleşme Fonksiyonları
15.3.
Sözleşme Olayları
16.
Starknet Contract Interactions
❱
16.1.
Contract Class ABI
16.2.
Interacting with Another Contract
16.3.
Executing Code from Another Class
17.
Building Advanced Starknet Smart Contracts
❱
17.1.
Optimizing Storage Costs
17.2.
Composability and Components
❱
17.2.1.
Under the Hood
17.2.2.
Component Dependencies
17.2.3.
Testing Components
17.3.
Upgradeability
17.4.
L1 \<\> L2 Mesajlaşma
17.5.
Oracle Interactions
❱
17.5.1.
Price Feeds
17.5.2.
Randomness
17.6.
Other Examples
❱
17.6.1.
Deploying and Interacting with a Voting Contract
18.
Starknet Smart Contracts Security
❱
18.1.
General Recommendations
18.2.
Testing Smart Contracts
18.3.
Static Analysis Tools
19.
Appendix (Starknet)
❱
19.1.
A - System Calls
Cairo VM
20.
Giriş
21.
Architecture
22.
Memory
❱
22.1.
Non-Deterministic Read-only Memory
22.2.
Segments and Relocation
23.
Execution Model
❱
23.1.
Registers
23.2.
Instructions
23.3.
Cairo Assembly (CASM)
23.4.
State transition
24.
Builtins
❱
24.1.
How Builtins Work
24.2.
Builtins List
❱
24.2.1.
Output
24.2.2.
Pedersen
24.2.3.
Range Check
24.2.4.
ECDSA
24.2.5.
Bitwise
24.2.6.
EC OP
24.2.7.
Keccak
24.2.8.
Poseidon
24.2.9.
Mod Builtin
24.2.10.
Segment Arena
25.
Hints
❱
25.1.
Structure
25.2.
Hint runner
25.3.
List of hints
26.
Runner
❱
26.1.
Program
❱
26.1.1.
Program Artifacts
26.1.2.
Program Parsing
26.2.
Runner Mode
❱
26.2.1.
Execution Mode
26.2.2.
Proof Mode
26.3.
Output
❱
26.3.1.
Cairo PIE
26.3.2.
Memory File
26.3.3.
Trace file
26.3.4.
AIR public input
26.3.5.
AIR private input
27.
Tracer
28.
Implementations
29.
Resources
Light
Rust
Coal
Navy
Ayu
The Cairo Programming Language
Cairo Home
English
Español
Français
简体中文
Indonesian
Turkçe
Ek Bilgiler
The following sections contain reference material you may find useful in your Cairo journey.