Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 5521|Yanıt: 0

PHP Ethereum ile Nasıl Etkileşime Girer

[Bağlantıyı kopyala]
Yayınlandı 25.08.2018 23:02:44 | | |
Bu gönderi en son malakashi tarafından 2018-8-25 23:11 tarihinde düzenlenmiştir

Geçen yıldan beri bir blokzincir işi geliştiriyoruz. Son zamanlarda Ethereum ve PHP kullandım, bu yüzden bu konuyu konuşmamız gerektiğini düşündüm.

İşte bir öneri:

  • 1. Blokzinciri Anlayın
  • 2. Programlama dillerini iyi anlamak

Bu makaleden önemli çıkarımlar:

  • 1. Geliştirme ortamı
  • 2. Ethereum'un Tanıtımı
  • 3. JSON-RPC çağrısını hazırlayın
  • 4. PHP'den erişim
1. Geliştirme ortamı

Ubuntu 14.04 LTS kullanacağız. İşletim sistemi kurulduktan sonra, önceden belirlenmiş komutları girin.

Sonrasında SSH, iptables, ntp vb. kurdum.

Sonra Apache + PHP var. PHP sürümü 5.5 olacak.



2. Ethereum'un Tanıtımı

Bu sefer GO dilinde yapılmış bir Ethereum düğümü kullanacağız, go-ethereum, kısaca geth olarak biliniyor.

Önce bir depo ekleyelim.

Sonrasında sadece kur.

Kurulum tamamlanır tamamlanmaz Geth'i fırlat.
Öncelikle, bir veri kataloğu oluşturun ve ilk bloğun (genesis block) ayarlarını tanımlayın.

Sonra, bir Genesis bloğu oluşturun ve geth'e başlayın.

Konsol modundayken başlatma başarılıdır.

Birkaç seçenek belirtilmiş ve açıklama aşağıda özetlenmiştir.

  • networkid, bu da bir halka açık düğüme bağlanır.
  • Port ise bekleme için bir port. Onu 4 haneli bir numaraya değiştirdim.
  • nodiscover, düğümlerin otomatik olarak görüntülenmesini engelleyen bir ayardır.
  • datadir, blok zincirinin veriyi sakladığı dizini belirtir.
  • konsol, konsolu başladığı anda başlatıyor.

Tamam, bir sonraki PHP çağrısına hazırlanın ama ondan önce geth tarafında daha fazla hazırlık yapalım.

3. JSON-RPC çağrısını hazırlayın

JSON-RPC üzerinden PHP'den erişim sağlanıyor. Burada mahalleyi kuracağız.

İlk olarak, cari hesap bilgileri alınacaktır. Ayrıca geçen sefer başlattığımız geth konsolunu da kullanıyoruz.

Henüz bir hesap oluşturmadık, bu yüzden onu oluşturmak gerekiyor.

Hesap artık oluşturuldu. Madencilik sırasında ödüller kazanılabilen şekilde kurduk.

Sonra, mevcut düğüm RPC çağrılarına izin vermediği için bir seçenek ekleyin ve tekrar başlatın. Önce geth'i bitirelim.

Seçenekler ekleyip yeniden başlatalım

RPC için birkaç seçenek eklendi. Açıklama şöyledir.

  • RPC, RPC'nin bekleme rejimine izin veriyor.
  • rpcaddr, RPC alternatif için bir IP adresi.
  • rpcport, RPC dinlemek için kullanılan port. Port numarasını 4 haneye düşürdüm.
  • rpccorsdomain, RPC'ye erişim sağlayan bir alan adıdır. Bir düğüm yayınlarken, eğer "*" ise, her şeye izin vereceğini unutmayın.

Düğüm tarafı artık hazır. Sırada PHP'den bir telefon olacak.

4. PHP'den erişim

Son olarak, neden PHP'den erişim var, ama onları bulundurun, çünkü oldukça zor ve kod yazarken kullanılabilirBu

README'de gördüğünüz gibi, sadece bir sınıf oluşturmanız gerekiyor.

Test betiği ile aynı dizine koyarak kullanalım.

Bu betiği çalıştırırken, aşağıdaki gibi hesap listesi olmalı.



Bağlanamıyorsan, port ayarlarını kontrol et.

Şimdiye kadar bunu kısaca açıkladık, ama PHP ile geliştirmek şaşırtıcı derecede kolay hissettirmiyor mu?

Akıllı sözleşmeler söz konusu olduğunda işler biraz daha karmaşıklaşıyor ve bunu daha sonra yazacağız.

Ayrıca, blockchain'in Ethereum'da nasıl kullanıldığını doğrudan görmek isterseniz, bunu inceleyebilirsinizhttp://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=825itsvse, özellikle akıllı sözleşme geliştirme etkileşimi, hesap oluşturma, ticaret, transfer, token geliştirme, filtreler ve etkinlikler gibi konularda PHP kullanımını tanıtır.






Önceki:Sekiz gerçek dünya Docker kullanım durumu
Önümüzdeki:Teşekkürler, teşekkürler, teşekkürler
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com