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ınJSON-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şimSon 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.
|