Merhaba, bu yazımda JS ile Web3 kütüphanesini kullanarak Metamask'a bağlanmayı anlatacağım.
Web3js Nedir?
Ethereum node'ları ile HTTP, IPC veya WebSocket kullanarak iletişime geçmemize yardımcı olan kütüphane.
İlk Bağlantı
Kodumuzun son halini paylaşıp daha sonrasında satır satır açıklamaya çalışacağım.
- Kütüphanemizi içe aktarıyoruz.
- İleride insantance'ımız olacak değişkenimizi tanımlıyoruz.
- window !== "undefined" ise tarayıcı ile bağlantı gerçekleştirebilişmişiz demektir. window.ethereum ise Metamask'ın tarayıcımızda yüklü olduğunu veya ethereum destekli bir tarayıcı kullandığımızı gösterir. Yani "eğer tarayıcı ile sıkıntısız bir şekilde bağlantı gerçekleştirdiysek ve Metamask yüklü ise aşağıdaki kodları çalıştır" anlamına geliyor.
- Metamask, kullanıcıya pop-up çıkararak hesabını bağlama isteği gösteriyor:
- Instance'ımızı elde ediyoruz.
- Eğer Metamask yüklü değilse.
- Burada bağlanacağımız providerı seçiyoruz. Ben lokalimde çalıştırdığım blockchain ağına bağlanmak istediğimi belirttim. Siz isterseniz Ethereum ağını vs. seçebilirsiniz. Burada belirtmem gerekir ki, eğer Metamask yüklü ise provider Metamaskta seçili olan ağ oluyor.
- Yine instance'ımızı elde ediyoruz.
- Instance'ımızı dışa aktarıyoruz. Bu şekilde web3'ye ihtiyaç duyduğumuz her yerde kolaylıkla çağırabileceğiz.
Son
Web3 kütüphanesini kullanarak ilk bağlantımızı gerçekleştirdik. Bundan sonrasında web3 instance'ımızı kullanarak contract'larımız ile bağlantı sağlamak kalıyor. Bir sonraki yazımda da ondan bahsedeceğim.
Kendinize iyi bakın.