01Sorun ve çözüm
Smart contract geliştirme sürecini bu yüzden kod yazımıyla değil, sözleşmenin kurallarını düz bir dille yazıya dökmekle başlatıyoruz: kim token basabilir, hangi koşulda fon serbest kalır, bir hata fark edilirse kim neyi durdurabilir. Bu kurallar onaylandıktan sonra Solidity ile geliştirme, kapsamlı test, testnet denemesi ve son olarak ana ağa kontrollü dağıtım gelir.
Devamını okuDaha az göster
Ethereum ve onunla uyumlu EVM ağlarında çalışıyoruz; Polygon, BNB Chain, Arbitrum, Base ya da Avalanche gibi ağlar arasındaki seçimi işlem ücreti, kullanıcı kitleniz ve entegre olacağınız platformlara göre birlikte yapıyoruz.
02Kimler için
Smart contract yazılımı kimlerin işine yarar
Zincir üstünde çalışan bir kural, ancak taraflar arasında güven ya da şeffaflık sorunu varsa anlam kazanır.
- Kendi token ekonomisini kurmak, hak ediş takvimi ya da staking getirisi dağıtmak isteyen Web3 girişimleri
- Alıcı ile satıcı arasında koşula bağlı ödeme tutan emanet (escrow) akışı tasarlayan pazar yerleri
- Oyun içi eşya, üyelik kartı ya da dijital sertifikayı NFT olarak sunmak isteyen markalar ve stüdyolar
- Topluluk kararlarını zincir üstü oylamayla almak isteyen DAO yapıları ve dernek benzeri oluşumlar
- Mevcut bir sözleşmesini yeni bir sürüme taşımak ya da başka bir ekibin yazdığı kodu gözden geçirtmek isteyen projeler
03İhtiyaçlar
Akıllı sözleşme yazarken karşılaşılan riskler
Zincir üstündeki hatanın geri alma tuşu yoktur; tasarım aşamasında cevaplanması gereken sorular bunlardır.
- 01
Değiştirilemezlik ve yükseltme ihtiyacı
Sözleşme hiç değişmeyecekse kullanıcı güveni artar ama hata düzeltilemez. Proxy deseniyle yükseltilebilir yapı esneklik sağlar, buna karşılık yükseltme yetkisinin kimde olduğu açıkça yazılmalıdır.
- 02
Yetki ve rol ayrımı
Basım, duraklatma, ücret değiştirme ve fon çekme gibi işlemler tek bir adrese bağlanmamalıdır. Rol bazlı erişim kontrolü ve kritik işlemler için çoklu imzalı cüzdan önerilir.
- 03
Gas maliyeti
Depolamaya yazılan her değişken kullanıcıya ücret olarak yansır. Döngüler, toplu transferler ve veri yapıları maliyet gözetilerek kurgulanır; test raporunda fonksiyon başına gas tüketimi gösterilir.
- 04
Zincir dışı veriye bağımlılık
Fiyat, kur ya da maç sonucu gibi dış bilgiler sözleşmeye kendiliğinden gelmez. Bu veriler için oracle seçimi ve verinin gecikmesi ya da hatalı gelmesi durumunda sözleşmenin nasıl davranacağı önceden belirlenir.
04Özellikler
Smart contract yazılımı kapsamında teslim edilenler
Kod dosyalarının yanında, sözleşmeyi sizin ve sonraki ekiplerin güvenle işletebilmesi için gereken parçalar da teslim edilir.
- 01
Kural dokümanı ve durum diyagramı
Sözleşmenin hangi durumlardan geçtiği, her fonksiyonu kimin çağırabildiği ve hangi olayların (event) yayımlandığı tek bir belgede toplanır.
- 02
Birim, senaryo ve fuzz testleri
Hardhat ya da Foundry gibi araçlarla beklenen akışların yanında sınır değerler, rastgele girdiler ve saldırı senaryoları da test edilir.
- 03
Acil durum mekanizmaları
Duraklatma, zaman kilitli yönetici işlemleri ve gerekirse fon kurtarma fonksiyonları ihtiyaca göre eklenir; her birinin kötüye kullanım riski ayrıca değerlendirilir.
- 04
Dağıtım betikleri ve kaynak doğrulama
Testnet ve ana ağ dağıtımları tekrarlanabilir betiklerle yapılır, kaynak kod blok gezgininde doğrulanır ve sözleşme adresleri ile parametreler kayıt altına alınır.
05Entegrasyonlar
Sözleşmenin bağlandığı araçlar ve servisler
Bir akıllı sözleşme tek başına nadiren kullanılır; cüzdanlar, arayüzler ve izleme servisleriyle birlikte çalışır.
- 01
Cüzdan bağlantıları
MetaMask ve WalletConnect destekli cüzdanlarla imza akışları, ağ değiştirme ve işlem onayı ekranları uygulamanıza eklenir.
- 02
Oracle servisleri
Fiyat beslemesi ya da doğrulanabilir rastgele sayı gibi ihtiyaçlar için Chainlink benzeri oracle ağlarıyla bağlantı kurulur.
- 03
Node ve indeksleme
Infura, Alchemy gibi node sağlayıcıları ya da kendi node'unuz üzerinden okuma yapılır; geçmiş olaylar için The Graph veya özel bir dinleyici servis kullanılır.
- 04
Çoklu imza ve hazine yönetimi
Yönetici yetkileri Safe gibi çoklu imzalı cüzdanlara devredilir; tek bir anahtarın kaybı ya da çalınması projeyi durdurmaz.
06Süreç
Smart contract yazılımı yaptırmak istiyorum: süreç nasıl işler?
Adım 01
Analiz
İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.
Adım 02
Tasarım
Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.
Adım 03
Geliştirme
Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.
Adım 04
Test
İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.
Adım 05
Yayın
Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.
Adım 06
Bakım
İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.
07Teknoloji
Smart contract yazılımı projelerinde güvenlik yaklaşımı
Mümkün olan her yerde OpenZeppelin gibi yaygın kullanılan ve defalarca incelenmiş kütüphanelerin standart bileşenlerini tercih ediyoruz; tekerleği yeniden icat etmek zincir üstünde ek risk demektir. Yeniden giriş (reentrancy), yetkisiz çağrı, yuvarlama hataları ve front-running gibi bilinen saldırı türleri kontrol listesiyle gözden geçirilir, Slither benzeri statik analiz araçları her sürümde çalıştırılır.
Devamını okuDaha az göster
Dağıtım anahtarları geliştirici bilgisayarında düz metin olarak tutulmaz; donanım cüzdanı ya da çoklu imza kullanılır. Ana ağa çıkıştan sonra sözleşme olayları izlenir, beklenmeyen büyük transfer veya yetki değişikliğinde ilgili kişilere bildirim gider.
Yüksek tutarda varlık tutacak sözleşmelerde bağımsız bir güvenlik denetiminin (audit) yapılmasını öneririz. Kendi testlerimiz bu denetimin yerine geçmez; denetim firmasının bulgularını kapatmak ve düzeltmeleri yeniden test etmek sürecin parçası olarak planlanır.
08Çalışma modelleri
Bu hizmette çalışma modelleri
- 01
Proje bazlı
Sabit kapsam, sabit fiyat ve belirli teslim tarihi
Kapsamı belli, teslim tarihi olan işler için.
- Yazılı kapsam ve kabul ölçütleri
- Sabit fiyat ve belirli teslim tarihi
- Teslim ve kabul adımları sözleşmede
- 02
Bakım ve destek
Aylık sözleşmeli, SLA'lı bakım, destek ve geliştirme saati
Yayındaki bir sistemin sürekliliği için.
- Aylık sözleşme ve SLA
- İzleme, güncelleme ve hata düzeltme
- Aylık geliştirme saati
09Sık sorulan sorular
Smart contract yazılımı hakkında sık sorulan sorular
Smart contract yazılımı yaptırma fiyatları neye göre değişir?
Sözleşmenin karmaşıklığı, kaç ayrı sözleşmenin birbirine bağlandığı, yükseltilebilir yapı isteyip istemediğiniz, oracle ihtiyacı ve test kapsamı belirleyicidir. Bağımsız denetim ve arayüz geliştirme varsa bunlar ayrı kalem olarak planlanır.
Hangi blokzinciri seçmeliyiz?
Kullanıcılarınızın zaten bulunduğu ağ, işlem başına ücret, entegre olacağınız borsa veya pazar yerinin desteklediği ağlar ve köprü ihtiyacı birlikte değerlendirilir. EVM uyumlu ağlarda aynı kod küçük ayarlarla birden fazla ağa dağıtılabilir.
Yayınlanan bir akıllı sözleşmeyi sonradan değiştirebilir miyiz?
Doğrudan değiştiremezsiniz. Baştan proxy deseniyle kurulduysa mantık sözleşmesi yeni sürümle değiştirilebilir; kurulmadıysa yeni bir sözleşme dağıtılır ve kullanıcı bakiyeleri bir geçiş akışıyla taşınır.
Başka bir ekibin yazdığı sözleşmeyi inceliyor musunuz?
Evet, kod incelemesi ve test kapsamını genişletme işi alıyoruz. Bunu resmî bir güvenlik denetimi olarak sunmuyoruz; yüksek riskli sözleşmelerde bağımsız denetim firmasıyla çalışmanızı öneriyoruz.
Smart contract yazılımı için firma seçerken nelere bakmalıyım?
Test raporu ve gas raporu teslim edip etmediğine, yönetici anahtarlarının nasıl korunacağını anlatıp anlatmadığına ve acil durum senaryosu sorulduğunda net bir cevap verip vermediğine bakın. Kaynak kodun size ait olacağı da yazılı olmalıdır.
Türkiye'de token çıkarmak ya da satmak için izin gerekir mi?
Kripto varlıklara ilişkin düzenlemeler son dönemde değişti ve modelinize göre farklı yükümlülükler doğabilir. Bu konudaki sınırları ilgili mevzuat belirler; token satışı veya saklama içeren yapılarda hukuk danışmanınızla netleştirmenizi öneririz.
10İlgili hizmetler