Entegrasyon Klavuzu

DigiByte Integration

Borsanıza, cüzdan hizmetinize veya web sitenize DigiByte'ı entegre etmek ister misiniz? Temel bilgiler ile başlayıp teknik detaylara doğru ilerlediğimiz klavuzumuzda entegrasyon için ihtiyaç duyabileceğiniz tüm bilgileri sizler için Türkçe olarak bir araya getirdik.

DigiByte'ın temel özellikleri nelerdir?

Bitcoin Core protokolü baz alınarak geliştirilen DigiByte, PoW (İş Kanıtı) prensibi ile çalışan, UTXO (Harcanmayan işlem çıktısı) türünde, merkeziyetsiz bir blok zinciridir. Eşit ağırlığa ve gerçek zamanlı zorluk ayarlamasına sahip 5 farklı algoritma (sha256, Scrypt, Skein, Qubit, Groestl) ile yeni coinlerin üretildiği DigiByte'ın blok süresi 15 saniyedir. 2035 yılına kadar toplam 21 milyar adet üretilecek olan DigiByte'ın Temmuz 2018 itibariyle dolaşımdaki miktarı 10,5 milyar olup blok ödülü ise 761 DGB dir ve bu miktar her ay %1 oranında azalmaktadır.

DigiByte bir Token, ICO ya da Fork mu dur?

Hayır DigiByte bir token değildir ve kendi Blockchain’i üzerinde çalışmaktadır. Hiçbir zaman ICO yapılarak fon toplanmamış ve kayda değer miktarda premined coin üretilmemiştir. Kurucu ödülü veya blok ücreti bulunmamaktadır. Bitcoin Core protokolü baz alınarak geliştirilmiş olmasına rağmen bir fork değildir. 10 Ocak 2014'te yaratılan kendi Genesis Bloğuna sahiptir. Üst düzeyde merkeziyetsizlik ve dağıtık yapı sunar.

Entegrasyon süreci Bitcoin ile benzer mi?

Evet. Tıpkı Litecoin ve Dogecoin gibi DigiByte da Bitcoin Core protokolü üzerine inşa edildiği için entegrasyon aşamaları bu coinler ile neredeyse birebir aynıdır. Hali hazırda bu coinlerden birini listelediyseniz DigiByte entegrasyonu sizin için oldukça kolay olacaktır.

DigiByte GitHub deposunun adresi nedir?

github.com/digibyte

DigiByte blok boyutu ve işlem kapasitesi nedir?

DigiByte'ın şu anki maksimum blok boyutu 2MB olup işlem kapasitesi ise 15 saniyelik blok süreleri sayesinde 560Tps dir. Herhangi bir hard fork yapılmaya gerek olmaksızın her iki yılda bir maksimum blok boyutu artışı ile işlem kapasitesi ikiye katlanmaktadır ve bu sayede 2035 yılında 280.000Tps ye ulaşacaktır. 7 milyonun üzerinde bloğu ile Dünyanın en uzun UTXO blok zinciri olan DigiByte'ın şu anki toplam zincir boyutu yaklaşık 10GB civarıdır.

DigiByte entegrasyonu için standart portlar hangileridir?

RPC Port: 14022
P2P Port: 12024
Her ikisi de TCP dir. Bu portlardan giden bağlantıları Firewall ile engellememenizi öneririz. Ancak diğer node'lara bilgi sağlamak istememeniz durumunda NAT ve sınırlamalar ile de gelen bağlantılar sorunsuz çalışacaktır.

Cüzdana yatırma ve çekme işlemleri için bir öneriniz var mı?

Yatırma ve çekme işlemleri için 6 onay tavsiye ediyoruz (90 saniye). Bildirimler 2-3 saniye içinde ulaşırken, bloklar her 15 saniyede bir oluşmaktadır. digibyte.conf dosyası RFC1918 standardının bir parçası olmayan IP adreslerine izin vermemelidir. Mümkünse Bech32 ve SegWit adresleri kullanılmalıdır.

1 Milyon kullanıcımız olduğunu varsayarak; Kaç tane cüzdanımız olmalı? Cüzdanları ve sunucuları adres oluşturma, yatırma ve çekme gibi işlemler için bölmelimiyiz?

Bu tamamen sunucularınızın kapasitesi ve yüklü olan yazılımın optimizasyonuna bağlıdır. Litecoin veya Vertcoin için iyi bir performans ile çalışan sunucunuz varsa aynı ayarları DigiByte node'unuz için de baz alabilirsiniz.

Cüzdanı yükleme ve çalıştırma aşamasında hangi ayarlar önerilir?

Aşağıdaki sunucuları ekleyerek varsayılan node sayısından daha fazlasına bağlanmanızı öneririz:

addnode=seed1.digibyte.io
addnode=seed2.digibyte.io
addnode=seed3.digibyte.io
addnode=seed.digibyte.io
addnode=seed.digibyteprojects.com
addnode=digihash.co
addnode=digiexplorer.info
addnode=seed.digibyteguide.com
addnode=seed-1.us.digibyteservers.io

Mümkün olan en fazla sayıda node ile bağlantı kurabilmeniz için aşağıdaki ayarı eklemenizi tavsiye ederiz:
maxconnections=300

Ayrıca çoğu borsa ve hizmet sağlayıcısı aşağıdaki ayarı da kullanmak isteyecektir:
txindex=1

Tek bir node çalıştırmak için gereken bilgisayar donanımı ne olmalı?

Tek bir DigiByte node için; Intel Atom işlemci, 3GB Ram ve 30GB HDD benzeri bir donanım yeterlidir. Bu da günümüzdeki neredeyse tüm Windows, Linux ve Mac sistemlerde rahatlıkla çalışabileceği anlamına gelmektedir. Ancak bu özelliklerin kurumsal ölçekte bir girişim için daha üst düzeyde olması tavsiye edilir.

Örnek vermek gerekirse; 1.8Ghz Intel Atom işlemci, 3GB Ram'e sahip bir sistem, cüzdana yaklaşık olarak 200 eşten bağlantı kabul edebilir. Bu örnekteki ana sınırlayıcı işlemci gücüdür. Kendi API çağrılarınız gibi sizin için ek yük oluşturabilecek öğeleri göz önünde bulundurmalısınız ve eğer mümkünse DigiByte'ı her zaman SSD diskler üzerinde çalıştırmalısınız.

Ayrıca şu anda 10GB civarı olan blok zinciri boyutunun gelecekteki büyüme gereksinimlerini de disk kapasitesi seçiminde hesaba katmalısınız. İhtiyaç halinde cüzdanın yüklü olduğu dizindeki debug.log kayıtlarını temizlemeyi deneyebilirsiniz.

Ancak bunu yapmanın olası sorunları çözme yeteneklerinizi ciddi şekilde sınırlandıracağını unutmamalısınız. Cüzdan kendi ana dizininden ayrıcalıklı olmayan bir kullanıcı olarak çalıştırışabilir ve herhangi bir zamanda sudo erişimi gerekli değildir.

Cüzdan yedekleme / geri yükleme nasıl olmalıdır?

Bitcoin ve Litecoin de olduğu gibi özel anahtarları veya wallet.dat dosyasını yedeklemek yeterlidir. Mümkün olan yerlerde 2-of-3 multisig wallet kullanmanızı öneririz.

Bilmemiz gereken bilinen herhangi bir kısıtlama veya sorun var mı?

DigiByte Core v6.16.2 ile birlikte yeni oluşturulan cüzdan adresleri; eski "D" ön ekinden yeni "dgb1" ön ekine, multisig adresleri ise eski "3" ön ekinden yeni "S" ön ekine geçiş sürecindedir. Deposit için yeni adres türleri kullanılmalı ancak eski adres türleri de desteklenmeye devam edeceği için Withdrawal bölümünde tüm adres türlerine izin verilmelidir.

Ayrıca DigiByte core v6.16.5 ile birlikte, Bitcoin core protokolünü temel alan tüm blok zincirlerini etkileyen önemli bir güvenlik açığı düzeltildiği için, v6.16.5'ten daha eski sürümlerin kullanılmaması gerektiğini önemle hatırlatırız.

  • D ile başlayan geleneksel adresler süresiz olarak desteklenmeye devam edecek,
  • 3 ile başlayan eski multisig adresler S ile değiştirilmiştir ve artık kullanmı teşvik edilmemektedir,
  • dgb1 ile başlayan yeni bech32 (bip84) varsayılan adres formatı,
  • S ile başlayan yeni multisig / segwit p2sh (bip49) uyumlu adres formatı,

Özet olarak; "dgb1" ile başlayan yeni bech32 adreslerini Deposit için varsayılan olarak tercih etmenizi ve ek olarak da geriye dönük uyumluluk için "D" ile başlayan geleneksel adresleri önermenizi tavsiye ederiz. Eğer Deposit için sadece tek bir adres türü sunmayı düşünüyorsanız, bu durumda "S" ile başlayan SegWit adresleri sizin için en doğru seçim olacaktır.

dgb1 ile başlayan adresler üretmek için digibyte.conf dosyanıza;
addresstype=bech32 satırını,

S ile başlayan adresler üretmek için ise;
addresstype=p2sh-segwit satırını ekleyiniz.

Detaylı bilgi için lütfen lütfen sürüm notlarına ve ilgili makaleye göz atın:
github.com/digibyte/digibyte/releases
medium.com/@josiah_digibyte/technical-new-address-formats-and-rpc-calls-c1119317a76c
6.16.x sürümleri itibariyle, tüm cüzdanlar hiyerarşik deterministik (HD) olarak oluşturulmaktadır.
Ayrıca 6.16.x sürümleri itibariyle, getinfo komutu aşağıdakiler ile değiştirilmiştir:

  • getblockchaininfo
  • getnetworkinfo
  • getwalletinfo
  • getmininginfo

Ayrıca, signrawtransaction iki farklı çağrıya bölünmüştür:

  • signrawtransactionwithkey
  • signrawtransactionwithwallet

signrawtransactionwithkey özel anahtarlar gerektirir ve herhangi bir imza için cüzdanı kullanmaz. signrawtransactionwithwallet ise ham bir işlemi imzalamak için cüzdanı kullanır ve özel anahtarları almak için herhangi bir parametresi yoktur. signrawtransaction'ı kullanan mevcut ürün ve servisler, bunun yerine basitce signrawtransactionwithwallet'ı kullanabilirler.

Ayrıca hesap RPC çağrısı da değişmektedir, Bitcoin Çekirdeğindeki sürüm notlarını incelemenizi öneririz:
github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.17.0.md

Tavsiye edeceğiniz bir örnek digibyte.conf dosyası içeriği var mı?

Evet. Aşağağıdaki yapılandırmayı kullanabilirsiniz:

# Bu konfigürasyonu aşağıdaki konuma yerleştirin:
# ~/.digibyte/digibyte.conf
server=1
listen=1
daemon=1
txindex=1
rpcallowip=127.0.0.1
maxconnections=400
addnode=seed1.digibyte.io
addnode=seed2.digibyte.io
addnode=seed3.digibyte.io
addnode=seed.digibyte.io
addnode=seed.digibyteprojects.com
addnode=digihash.co
addnode=digiexplorer.info
addnode=seed.digibyteguide.com
addnode=seed-1.us.digibyteservers.io

DigiByte Blockchain'i entegre etmek için kullanabileceğimiz bir API var mı?

Bir Insight blockchain explorer sunucusunu çalıştırmanızı öneririz, ardından bu adreste belgelenen API'leri kullanabilirsiniz:
github.com/bitpay/insight-api

Yeni bir linux kullanıcısı oluşturmak ve çalıştırmak için aşağıdaki hızlı kurulum örneğinden faydalanabilirsiniz:

useradd digibyte # Servisi farklı çalıştırmak için bir kullanıcı oluşturun — ROOT OLARAK ÇALIŞTIRMAYIN
su - digibyte
curl -o- https://raw.githubusercontent.com/creationix/
nvm/v0.33.8/install.sh | bash
# Terminal oturumunuzdan çıkın ve profil değişikliklerini uygulamak için tekrar giriş yapın
exit
su - digibyte
nvm ls-remote # Find the latest LTS
nvm install v8.10.0 # Install the latest LTS
npm install -g digibyte-node # install DigiByte Node
digibyte-node create explorer
cd explorer
digibyte-node install insight-digibyte-api
digibyte-node install insight-digibyte-ui
digibyte-node start

Bu terminalinizin ön planında digibyte-node servisini başlatacaktır. Çalıştığı bağlantı portunu onaylamak için ~/explorer/digibyte-node.json adresini kontrol etmenizi öneririz.

Servis ip.address:3001/insight üzerinden erişebileceğiniz TCP port 3001'i dinliyor olmalı. Yukarıda önerilen node'ları aşağıdaki dosyaya da eklemelisiniz:
~/explorer/data/digibyte.conf

LÜTFEN UNUTMAYIN: Bu digibyte.conf dosyası standart DigiByte cüzdanı için kullanılandan farklıdır. Son olarak bunu bir arka plan işlemi olarak başlatmak için:

npm install pm2 -g
pm2 start digibyte-node -- start

Bir Node çalıştırmanın avantajları nelerdir?

Tüm borsalara ve ürünlere mutlaka API sorguları için kullanabilecekleri kendi node'larını çalıştırmalarını öneriyoruz, özellikle de yüksek işlem hacmi bekliyorlarsa. Bu herhangi bir ek yapılandırma gerekliliği olmadan sanallaştırılmış bir ortam içinde çalıştırılabilir. Kendi node'unuzu çalıştırmak, her zaman ürününüz için mümkün olan en iyi performansı sağlayacaktır. Dünya genelinde yüzbinlerce DigiByte node bulunmakla birlikte çok azı üzerinde Blockchain entegrasyonu için Insight API çalıştırmaktadır. Ek olarak DigiByte Foundation'un bir ICO olmadığını ve tüm topluluğun server ihtiyaçlarını karşılayamayacağını unutmamalısınız.

Bir testnet çalıştırıyormusunuz?

Evet, bunun için digibyte.conf dosyanıza aşağıdaki ifadeyi ekleyin:
testnet=1
Testnet TCP 12025 portunu kullanmaktadır.

Bir çok geliştiricinin DigiByte'ın yok denebilecek kadar az olan ağ ücretleri nedeniyle, testnet yerine doğrudan livenet'i kullanmayı tercih ettiğini belirtmek isteriz.

DigiByte.js API ve uygulama örneklerine nereden erişebilirim?

Aşağıdaki adreslerden ulaşabilirsiniz:

docs.digibyte.io
playground.digibyte.io
github.com/digicontributer/digibyte-js

Daha fazla teknik desteğe ihtiyaç duyarsak nereye başvurmalıyız?

Gönüllü geliştiricilerimiz Telegram platformunda sizlere yardımcı olabilir. Bunun için aşağıdaki kanallara başvurabilirsiniz:

DGB Support: t.me/DGBSupport
DGB Developers: t.me/DigiByteDevelopers

Ayrıca ihtiyaç duyulması halinde DigiByte core ekibi ile kontağa geçmeniz için de yardımcı olabiliriz. Bunun için sayfanın altındaki Bize Ulaşın bölümüne gidin.

Güncel DigiByte logo ve görsellerini nereden bulabilirim?

Aşağıdaki adresten çeşitli formatlarda logolara ulaşabilirsiniz:

github.com/digibyte/digibyte-logos

Lütfen sadece bu sayfada yer alan görselleri kullanın. Eğer başka kaynaklardan görsel alacaksanız Ekim 2017 de yayınlanan yeni logoyu kullandığınızdan emin olun:

DigiByte Yeni Logo

DigiByte’ın doğru yazılışı ve kısaltması nasıl olmalıdır?

DigiByte her zaman büyük B harfi ile yazılmalıdır. Kısaltması DGB’dir.

DigiByte için bir para birimi sembolü var mı?

Evet. Ɗ sembolü (Kancalı D) kullanılmaktadır.
Bilgi için: unicode-table.com/tr/018A/

Resmi core cüzdanları nereden indirebilirim?

Cüzdanlar github.com/digibyte/digibyte/releases adresinden indirilebilir.

En son core güncellemelerinden nasıl haberdar olabilirim?

DigiByte topluluğu insanların kullanacakları core sürümünü özgürce seçebilmeleri gerektiğine ve gerçek merkeziyetsizliğe inandığı için core wallet uygulamalarının içinde otomatik güncelleme fonksiyonu ekleme fikrine sıcak bakmamaktadır. Ancak en üst düzeyde güvenlik ve uyumluluk için her zaman en son core sürümünü kullanmanız önemlidir. Bu sebeple son güncellemelerden anında haberdar olabilmek adına aşağıdaki resmi RSS beslemesine abone olmanızı tavsiye ederiz:
github.com/digibyte/digibyte/releases.atom