Kendi tokenimizi nasıl üretiriz?

Hasan Ç.
7 min readDec 4, 2022

Merhabalar herkese
Bugün bu kısa yazımda siber güvenlik dışında fakat bu siber dünyadaki dijital para kavramı üzerinde durarak kendi tokenimizi nasıl üretiriz bunu anlatacağım

Bu işlem için tron ağını kullacağım ve üreteceğim bu token test için olacağından nile test serverini kullanacağım. Ama başlamadan önce temel kavramları bir anımsayalım.
Öncelikle token ile coin arasındaki fark nedir?

Token “Kripto para birimlerinden birisini oluşturan token, bağımsız blok zincir üzerine inşa edilmeyen ve hali hazır vakitte bulunan blok zincire entegre edilerek kullanılan bir değer olarak ifade edilir. Farklı bir kripto paranın blok zincirini kullanarak yapılan token, birim değere sahiptir ve bu birim değer üstünden alım — satım işlemi yerine getirilir. Blockchain sistemi içerisinde kullanılan token, herhangi bir kripto para çeşidini ifade eder.”

Coin ise kısaca “Geliştirilen bağımsız bir blok zincirinde kullanılmak için oluşturulan kripto para terimlerine coin denir”
Yani Coin kendi altyapısını ve blockzincirini kullanan bir dijital para birimi iken token ise zaten var olan bir coin’in altyapısını kullanarak üretilmiş dijital para birimidir.
“Coin, süreç içerisinde değerine değer katarak ilerlerken ve coin dijital para çeşidini yaratırken token ise sözleşmenin bir sembolü olarak kabul edilir”

Şİmdi gelelim ağlara, ağlar ise kısaca hangi coinin altyapısını kullandığımızı belirtir, mesela ethereu mtabanlı bir token üretecekseniz ethereum ağını kullanırsınız, Ben tron ağını kullanacağım
Tabi Tron ağında token üretirken önümüze çeşitli kavramlar çıkıyor bunlar TRC10-TRC20-TRC721 gibidir.
Peki bunlar nedir?

“TRC10 ve TRC20 aslında her tron ağı transferinde bilmeden kullandığımız ağ(contract) türleridir. Tıpkı BSC-ERC adreslerinin aynı adres olması gibi Tron ağındada TRC10 ve TRC20 adresleri aynıdır. Yani Tron adresiniz ile Hem TRC10 hem TRC20 tokenleri alabilir ve gönderebilirsiniz.
Bunlardan farklı olarak TRC721 türü ise Tron ağının NFT leri için tasarlanmış olan contract adresidir ve burada sadece NFT üretimi yapılmaktadır.”

TRC10 ve TRC20 arasındaki bazı önemli farklardan bahsetmek gerekirse,

“Öncelikle eğer üreteceğiniz tokeni bir site, sistem için kullanacaksanız TRC10 kullanmanızı öneririm çünkü TRC20 API desteği vermemektedir.
Diğer özellik iste bildiğiniz üzere tron ağında Bandwidth diye bir olay var ve bu her gün belirli sayıda transferi ücretsiz yapabilmemizi sağlıyor(Sadece Tronlink kullanırken).
TRC10 tokenlerde token transferinde Bandwidth kullanabiliyorken TRC20 ağında maalesef bu imkanı sağlamıyor bize. Her transfer için ayrı ayrı transfer ücreti ödememiz gerekiyor.
TRC10 Tokenlerde contract adresi bulunmuyor, bunun yerine token id bulunuyor ve bununla kolaylıkla tokeni bulabiliyoruz.
TRC20 tokenlerde ise contract adresi kullanmak zorundayız.
Borsa listelemeleri vb. 3. taraf işlemlerinde TRC10 token kullanımı çok daha avantajlı oluyor çünkü TRC20 tokenlerde contract adresi olduğu için bu tokenin doğrulama aşaması biraz daha uzun sürüyor.

Gelelim nasıl üretebileceğimize.
Öncelikle Tron ağı için bir cüzdan oluşturmanız gerekmekte bunun için Tronlink cüzdanını kullanmalısınız.
Tronlink dijital cüzdan uygulamasının eklentisini kurup adımları takip ederek bir cüzdan oluşturun.
Chorome için : https://chrome.google.com/webstore/detail/tronlink/ibnejdfjmmkpcnlpebklmnkoeoihofec

Sonrasında Tronlink deki Tron hesabımızda en az 1024 ve üstü Tron olduğundan emin olmalıyız bu miktarlar gasfee ücretine gidecek yani token oluştururken işlem masraflarına ve hatta hava parasına gidecek :)

ben test tokeni oluşturacağım için nile test serverine geçiş yapıyorum.

nile test ağına geçiyoruz

Gördüğünüz gibi benim hesabımta tüm işlemler sonrası 1310 trx kalmış durumda tabi bu para gerçek değil testserverinde olduğumuz için hiçbir değeri yok.
Bu arada testnet nedir diye kafanız karışabilir kısaca;
Blockchain uygulamalarının test edilmesi amacıyla yazılımcılar tarafından geliştirilen Testnet sistemi maddi hiçbir değeri olmayan test için kurulmuş özel ağlardır.
“Testnet protokolü farklı DNS seedleri kullanır. Ana Bitcoin ağ protokolü 18333 portunu dinlemektedir buna karşın Tesnet 8333 portunu dinler. Ana Bitcoin RPC bağlantısını 18332 portunu dinlemektedir. Testnetse 8332 portunu kullanır. Testnet üzerinde de farklı ADDRESSVERSION alanı kullanır. Bu şekilde Testnet adreslerinin de Bitcoin ana zincirinde ki çalışması engellenmektedir. Protokol mesajlarının header byte dereceleri de farklıdır.

Testnet byte değeri 0x0B110907 olup Bitcoin değeri ise 0XF9BEB4D9’dur. Testnet zorluk seviyeleri Ana Bitcoin ağına göre daha düşüktür. Testnet üzerinde ortalama her yarım saatte bir blok bulunmazsa zorluk seviyeleri otomatik şekilde tek bloğun çıkarılması için de gereken minimum zorluk seviyelerine düşürülür. Testnet sisteminde yeni başlangıç blokları vardır. Testnet sisteminde IsStandart seçenekleri aktif olmamaktadır. Bu şekilde kullanıcılar da standart dışında olan özellikleri test edebilir. TestNet coin değeri olmayan, maddi değersiz olan bir sistem olup sistemde denetim yapılmasını sağlar”

Şimdi token oluşturma sürecine geçmeden önce nile testserverinde nereden TRX alacağımızı söylemeliyim:
https://nileex.io/join/getJoinPage
Adresine giriş yapın ve “Get 2000 test coins” bölümüne aşağıdaki resimde gösterdiğim cüzdan adresinizi girin ve robot kontrolünü yaptıktan sonra butona tıklayın ve hesabınıza saniyeler içerisinde 2000 trx yatırılacaktır.

cüzdan adresiniz.

Şimdi her şey hazır gibi .TRC10 için https://nile.tronscan.org/#/tokens/create/Type
adresine girip trc10 u seçip ilerliyoruz ve Token ismi, Kısaltılması, Arzı,Token sembolü vb soruları cevaplıyoruz. Aşağıda Token Price diye bir bölüm var oraya istediğiniz bir miktarı yazın örneğin 1000 yazıyorum, token için çok etkisi olan bir şey değil ilk aşamalarda.
Tokenin sosyal medya bağlantılarını da ekledikten sonra Next diyoruz.
Yeni açılan sayfada bilgileri kontrol ediyoruz ve 1024 TRX ücreti ödemeyi kabul ettiğimizi işaretleyip Submit diyoruz.
TRC10 için tokeniniz üretildi :)

Ama benim asıl anlatacağım kısım TRC20 kısmı.
Cüzdanınızda en az 500 TRX olduğundan emin olun ve işlemlere başlayın.
Bir tık daha zor TRC20 üretimi.

Benim çatalımdan :
https://github.com/Realradioactive/TRC20-Contract-Template?organization=Realradioactive&organization=Realradioactive
Veya diğer sayfadan:
https://github.com/TRON-Developer-Hub/TRC20-Contract-Template/fork

Dosyaları indirin.

Daha sonra buradaki Token.sol dosyasını açın
Ve aşağıdaki fotodaki gibi gerekli değerleri değiştirin.

Burada Uranite yazan kısım token isminiz URA yazan yer token kısaltmanız ve bolca sıfırlı gördüğünüz 100000000000 kısmı ise üreteceğiniz token değeri geri kalan değerlerle oynamayın.
Dosyayı kaydettikten sonra
https://nile.tronscan.org/#/contracts/contract-compiler
Sitesine girip yaparak dosyaları seç deyip tüm dosyaları seçerek siteye yükleyin.

Bu sayfanın altından compile diyoruz ve 0.5.10_ versiyonu seçip devam ediyoruz.

Tüm işlemlerden sonra karşınıza success bir yazı gelecek . daha sonra deploy diyerek

Deploy dedikten sonra TRC20 yi seçiyoruz en üstten ve gerekli ayarları yaptıktan sonra (pek bir şeyi değiştirmenize gerek yok)
Devam diyoruz.

Gördüğünüz dibi Confirm dedikten sonra bizden fee ücreti istiyor bunu imzalayıp geçiyoruz

Sign deyip imzalayıp ücretimizi ödedikten sonra token oluşturma sürecine geçiyor ve sonunda bize şöyle bir kod veriyor.

Burada ben karaladım işlemleri tekrar yaptığım için, ama Buradaki Yeşil yazılı bölümü alıp bir kenara not edin.
Buradaki Contract address kısmı sizin tokeninizin contac adresidir. Bu daha sonra bize lazım olacak :)

Daha Wallet token kısmına girip tokeninizi düzenlemeye başlamalısınız.
Normalde https://nile.tronscan.org/#/tokens/create/Record Adresi üzerinden girip TRC20 yi seçip ileri deyip daha sonra Contract adresi kısmına demin yeşil yazıda yazan kaydettiğimiz adresi yazıp ileri diyerek bilgilerimizi doğruluyorduk ama artık bu işleme gerek olmadan zaten tokenimiz oluşturulmuş oluyor
Ama artık öncelikle şu sayfaya girin

https://nile.tronscan.org/#/wallet/tokensCreate

Burada demin oluşturduğumuz tokeni gösterecektir burada bazı durumlarda bu işlem blocklanmış olabiliyor. öncelikle bundan kurtulmak için Update Token Unformation diyerek ekrana 10 dakika bekleyin tarzı bir yazı gelecektir ve daha sonra Block kalkıp tekrar Update Token information diyerek token bilgilerinizi fotografını web adresi gibi bilgileri düzenleyip kayıt etmeniz gerekecektir.
Eğer tokeniniz onaylanmaz ise bu işlemleri tekrar etmelisiniz.
Zaten biz test serverinde olduğumuz için pek önemli bir sorun değil bu.
Ama bunu mainserverda gerçek bir token üretirken yaparken dikkatli olmakta fayda var sonuçta gerçekten belli bir ücret kesintisi olacak.

Bu toplamda TRC20 için yaklaşık 1000 TRX yani şu anki kur ile minimum 1000 TL üstü bir fiyata denk gelmektedir.
Aşağıda Benim oluşturduğum Uranite (URA) tokenimi görmektesiniz.

Eğer URA tokeninden isteyen var ise cüzdan adresini aşağıya yazabilir musait olduğumda size biraz bu tokenden yollayabilirim veya 1 dolardan tanesi satabilirim :) .tabi bu işin şakası. Cüzdan ağından başka ağa geçtiğinizde bu tokenlerin hiçbirinin olmadığını görebilirsiniz.

Bu da benim tokenimin adresi : https://nile.tronscan.org/#/token20/TN3YbnTqJQL65AKa3jWRSvsQXQ9jpXLYhR

Şimdi son 2 konu ile bitiriyorum.
Bu tokenleri tronlink cüzdanına nasıl ekleyeceğiz?
Çok basit contact adresini kopyalıyoruz ardından

Cüzdana girip en altta yazan Asset managment bölümüne giriş yapın ve Üst taraftaki arama bölümüne contact adresinizi yapıştırın TRC20 ağını seçtiğinize emin olun, ve gördüğünüz gibi benim tokenim çıktı karşıma buradan seçip onaylıyoruz ve

VEEEEEEE

100 milyar URA tokeni cüzdanımda :)

Gelelim sonuncu hususa, eğer gerçek token üretmek istiyorsanız bu işlemleri nile.tronscan.org değil tronscan.org adresi üzerinden ve dijital cüzdanınızdan main ağı seçili ve gerçekten bir dijitalcoin borsasından TRX alıp cüzdanınıza gönderdikten sonra bu işlemleri tekrarlarsanız gerçekten Tron ağı üzerinde bir token yaratmış olacaksınız.
Farklı ağlar içinde benzeri süreçler işliyor, kimisinde arayüz değişik kimisinde kullanılan dosyaların içeriği ve doğal olarak blokzincir kodları değişik oluyor.

Umarım bu kısa yazımda sizlere faydalı olmuşumdur :)

--

--

Hasan Ç.

Geophysical Engineer, İnformation Security, Cyber Security And Penetration Tester Specialist blog https://realradioactive.github.io/