Jadual Kandungan
Kandungan soalan
Penyelesaian
Rumah pembangunan bahagian belakang Golang Adakah mungkin untuk menggunakan gRPC dengan hyperledger-chaincode, dan jika ya, bagaimana untuk mengelakkan ralat semasa panggilan pada rangkaian ujian?

Adakah mungkin untuk menggunakan gRPC dengan hyperledger-chaincode, dan jika ya, bagaimana untuk mengelakkan ralat semasa panggilan pada rangkaian ujian?

Feb 13, 2024 am 09:12 AM
Rantaian sekat

是否可以在 hyperledger-chaincode 中使用 gRPC,如果可以,如何避免在测试网络上调用期间出现错误?

editor php Xigua di sini untuk menjawab soalan anda. Ya, anda boleh menggunakan gRPC dengan Hyperledger Chaincode. gRPC ialah rangka kerja panggilan prosedur jauh (RPC) sumber terbuka berprestasi tinggi yang membolehkan Chaincode anda berkomunikasi dengan perkhidmatan lain. Untuk mengelakkan ralat semasa panggilan pada rangkaian ujian, terdapat beberapa langkah yang boleh anda ambil. Mula-mula, pastikan rangkaian ujian anda dikonfigurasikan dan berjalan dengan betul. Kedua, semak kod dan fail konfigurasi anda untuk memastikan anda menggunakan gRPC dengan betul. Akhir sekali, lakukan pengendalian ralat dan pengelogan yang sesuai supaya sebarang isu ditemui dan diselesaikan dengan segera. Dengan langkah ini, anda seharusnya dapat mengelakkan ralat semasa panggilan pada rangkaian ujian anda dan berkomunikasi menggunakan gRPC dengan lancar.

Kandungan soalan

Saya ingin menggunakan grpc dalam kod rantai fabrik untuk mencapai komunikasi silang rantai dan bukannya menggunakan sdk kain. Tetapi apabila saya memanggil fungsi chaincode pada fabric-sample/test-network, saya sentiasa mendapat ralat.

error: endorsement failure during invoke. response: status:500 message:"error in simulation: failed to execute transaction eb5e480bd4075a767f56ae263741ca0f5f19620ef88952e26b7f1952bdbe83cd: could not launch chaincode chaincode_1.2:d3f97f15a635e73d3de230c8e5899e5fb95a68cf897c03e19f9e4eeca7ca3fd5: chaincode registration failed: container exited with 2"
Salin selepas log masuk

Boleh sesiapa beritahu saya apa yang menyebabkan ralat ini? Adakah terdapat pepijat dalam kod rantai saya atau grpc tidak boleh digunakan dalam fungsi kod rantai?

Kod rantai saya untuk grpc:

func (s *smartcontract) begin(ctx contractapi.transactioncontextinterface) error {
    server.main()
    return nil
}

func (s *smartcontract) client(ctx contractapi.transactioncontextinterface) error {
    // client.clientfunc is the client main function
    client.clientfunc(xt, r, sign, m)
}
Salin selepas log masuk

server.go

func main() {
    listen, err := net.listen("tcp", ":9090")
    if err != nil {
        fmt.printf("failed to listen: %v", err)
        return
    }
    grpcserver := grpc.newserver()
    pb.registersendserviceserver(grpcserver, &server{})
    err2 := grpcserver.serve(listen)
    if err2 != nil {
        fmt.printf("failed to serve: %v", err2)
        return
    }
}
Salin selepas log masuk

client.go

func Clientfunc(Xt *btcec.PublicKey, R *btcec.PublicKey, s *big.Int, m []byte) []byte {
    conn, err := grpc.Dial("127.0.0.1:9090", grpc.WithTransportCredentials(insecure.NewCredentials()))
    if err != nil {
        log.Fatalf("did not connect: %v", err)
    }
    defer conn.Close()
    client := pb.NewSendServiceClient(conn)
    output := &pb.SignInput{
        XtX: Xt.X().Int64(),
        XtY: Xt.Y().Int64(),
        M:   m,
        RX:  R.X().Int64(),
        RY:  R.Y().Int64(),
        S:   s.Int64(),
    }
    resp, _ := client.Send(context.Background(), output)
    return resp.GetM()
}
Salin selepas log masuk

Penyelesaian

Siapa boleh beritahu saya apa yang menyebabkan ralat ini?

Lihat hyperledger fabric v2.x/ Log Control untuk butiran, apa yang boleh memberitahu anda apa yang menyebabkan Ralat 500 (Ralat Pelayan Dalaman) ialah log pelayan

Bergantung pada cara anda menjalankannya:

docker logs <chaincode_container_id>
kubectl logs -n <namespace> <pod_name>
oc logs -n <namespace> <pod_name>
Salin selepas log masuk

Ini mungkin disebabkan oleh isu dalam kod rantai anda (seperti pepijat dalam kod grpc anda), atau ia mungkin disebabkan oleh persekitaran di mana kod rantai dijalankan.

Daripada kod anda, anda mungkin menganggap tidak memulakan pelayan grpc dalam kod rantai (server.main()). Chaincode berjalan dalam rangkaian fabrik hyperledger dan tidak mengendalikan komunikasi rangkaian seperti aplikasi kendiri.
Sebaliknya, anda harus menjadikan pelayan grpc sebagai perkhidmatan berasingan yang berjalan secara bebas, dan kod rantai kemudiannya boleh berkomunikasi dengan perkhidmatan tersebut mengikut keperluan.

Fungsi

plus client.clientfunc() nampaknya mewujudkan sambungan grpc, menghantar permintaan, dan menunggu respons. Ini adalah operasi segerak dan boleh menyebabkan masalah jika respons mengambil masa yang lama untuk tiba. Sebaik-baiknya menggunakan operasi tak segerak (iaitu menghantar permintaan dan mengendalikan respons dalam fungsi panggil balik) untuk mengelak daripada menyekat pelaksanaan kod rantai.
Dan... anda tidak sepatutnya mengabaikan kesilapan daripada client.send() ;)

Pastikan pelayan grpc anda tidak memerlukan sambungan selamat, jika tidak grpc.withtransportcredentials(insecure.newcredentials()) (sambungan tidak selamat tanpa ssl/tls) akan gagal.

Secara amnya, adalah disyorkan untuk mengendalikan komunikasi dengan sistem luaran (cth. melalui grpc) dalam aplikasi klien fabrik, bukannya dalam kod rantai itu sendiri.

Jika saya hanya mahu menggunakan kod rantai dan bukannya aplikasi fabrik, adakah terdapat cara untuk berkomunikasi antara organisasi pada saluran yang berbeza?

Komunikasi antara organisasi pada saluran yang berbeza boleh menjadi rumit, kerana ia merupakan aspek asas reka bentuk fabrik hyperledger yang saluran diasingkan antara satu sama lain untuk mengekalkan privasi data.

Anda mungkin mempertimbangkan:

  • Fungsi kod rantai: Organisasi boleh memanggil fungsi kod rantai pada salurannya sendiri, yang seterusnya memanggil fungsi kod rantai pada saluran lain. Ini mungkin kerana kod rantai boleh dikaitkan dengan berbilang saluran.
    Ambil perhatian bahawa pendekatan ini mempunyai had bahawa panggilan fungsi kedua tidak tergolong dalam transaksi yang sama seperti panggilan fungsi pertama, jadi jika transaksi pertama gagal, ia tidak boleh ditarik balik.

  • Dual Keahlian: Organisasi boleh tergolong dalam berbilang saluran. Oleh itu, ia boleh membaca data dari satu saluran dan menulis data ke saluran lain. Walau bagaimanapun, ini dilakukan dalam dua transaksi berasingan, jadi atomicity tidak dijamin.

  • Pengumpulan Data Peribadi (pdc): Jika matlamatnya adalah untuk berkongsi data peribadi antara organisasi tertentu (atau merentasi saluran yang berbeza), pdc mungkin menjadi pilihan. pdc membenarkan subset organisasi yang ditentukan pada saluran untuk menyokong, menyerahkan atau menanyakan data peribadi tanpa perlu mengedarkan data kepada semua organisasi pada saluran tersebut.

  • Penyelesaian kebolehoperasian: Terdapat juga penyelesaian yang lebih maju untuk kebolehkendalian rantaian blok sedang dibangunkan, seperti interledger protocol (ilp), yang boleh digunakan untuk menyambungkan rangkaian fabrik yang berbeza (atau malah memindahkan data atau aset sepenuhnya antara jenis yang berbeza rangkaian blockchain).
    Walau bagaimanapun, teknologi ini sebahagian besarnya masih dalam peringkat penyelidikan dan pembangunan dan mungkin belum bersedia untuk kegunaan pengeluaran.

Atas ialah kandungan terperinci Adakah mungkin untuk menggunakan gRPC dengan hyperledger-chaincode, dan jika ya, bagaimana untuk mengelakkan ralat semasa panggilan pada rangkaian ujian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana cara menggulung kedudukan dalam mata wang digital? Apakah platform rolling mata wang digital? Bagaimana cara menggulung kedudukan dalam mata wang digital? Apakah platform rolling mata wang digital? Mar 31, 2025 pm 07:36 PM

Posisi Rolling Mata Wang Digital adalah strategi pelaburan yang menggunakan pinjaman untuk menguatkan leverage perdagangan untuk meningkatkan pulangan. Artikel ini menerangkan proses penggulungan mata wang digital secara terperinci, termasuk langkah-langkah utama seperti memilih platform perdagangan yang menyokong rolling (seperti Binance, Okex, Gate.io, Huobi, Bybit, dll), membuka akaun leverage, menetapkan leverage berbilang, meminjam dana untuk perdagangan, Walau bagaimanapun, perdagangan kedudukan rolling sangat berisiko, dan pelabur perlu beroperasi dengan berhati -hati dan merumuskan strategi pengurusan risiko yang lengkap. Untuk mengetahui lebih lanjut mengenai tip rolling mata wang digital, sila teruskan membaca.

Bagaimana cara mengira yuran urus niaga platform perdagangan Gate.io? Bagaimana cara mengira yuran urus niaga platform perdagangan Gate.io? Mar 31, 2025 pm 09:15 PM

Yuran pengendalian platform perdagangan Gate.io berbeza mengikut faktor seperti jenis urus niaga, pasangan transaksi, dan tahap VIP pengguna. Kadar yuran lalai untuk perdagangan tempat ialah 0.15% (tahap VIP0, pembuat dan pengambil), tetapi tahap VIP akan diselaraskan berdasarkan jumlah dagangan 30 hari pengguna dan kedudukan GT. Semakin tinggi tahap, semakin rendah kadar bayaran akan. Ia menyokong potongan duit syiling platform GT, dan anda boleh menikmati diskaun minimum sebanyak 55%. Kadar lalai untuk urus niaga kontrak ialah pembuat 0.02%, pengambil 0.05% (tahap VIP0), yang juga dipengaruhi oleh tahap VIP, dan jenis kontrak yang berbeza dan leverage

Tutorial mengenai cara mendaftar, menggunakan dan membatalkan akaun Ouyi OKEX Tutorial mengenai cara mendaftar, menggunakan dan membatalkan akaun Ouyi OKEX Mar 31, 2025 pm 04:21 PM

Artikel ini memperkenalkan secara terperinci pendaftaran, penggunaan dan prosedur pembatalan akaun Ouyi OKEX. Untuk mendaftar, anda perlu memuat turun aplikasinya, masukkan nombor telefon bimbit atau alamat e-mel anda untuk mendaftar, dan menyelesaikan pengesahan nama sebenar. Penggunaan meliputi langkah -langkah operasi seperti log masuk, cas semula dan pengeluaran, transaksi dan tetapan keselamatan. Untuk membatalkan akaun, anda perlu menghubungi perkhidmatan pelanggan Ouyi OKEX, memberikan maklumat yang diperlukan dan menunggu pemprosesan, dan akhirnya mendapatkan pengesahan pembatalan akaun. Melalui artikel ini, pengguna dengan mudah dapat menguasai pengurusan kitaran hayat lengkap akaun Ouyi Okex dan menjalankan urus niaga aset digital dengan selamat dan mudah.

Apakah laman web yang disyorkan untuk perisian aplikasi mata wang maya? Apakah laman web yang disyorkan untuk perisian aplikasi mata wang maya? Mar 31, 2025 pm 09:06 PM

Artikel ini mencadangkan sepuluh laman web cadangan aplikasi yang berkaitan dengan mata wang maya, termasuk Binance Academy, OKX Learn, Coingecko, Cryptoslate, Coindesk, Investopedia, Coinmarketcap, Huobi University, Coinbase Learn and Cryptocompare. Laman web ini bukan sahaja memberikan maklumat seperti data pasaran mata wang maya, analisis trend harga, dan lain -lain, tetapi juga menyediakan sumber pembelajaran yang kaya, termasuk pengetahuan asas blok, strategi perdagangan, dan tutorial dan ulasan pelbagai aplikasi platform perdagangan, membantu pengguna memahami dan menggunakannya

Versi Komputer Binance Binance Masuk Binance Binance Versi Komputer PC PC Laman Web Masuk Log Masuk Versi Komputer Binance Binance Masuk Binance Binance Versi Komputer PC PC Laman Web Masuk Log Masuk Mar 31, 2025 pm 04:36 PM

Artikel ini menyediakan panduan lengkap untuk log masuk dan pendaftaran pada versi PC Binance. Pertama, kami menerangkan secara terperinci langkah -langkah untuk pembalakan dalam versi PC Binance: Cari "Laman Web Rasmi Binance" Dalam penyemak imbas, klik butang Login, masukkan e -mel dan kata laluan (membolehkan 2FA untuk memasukkan kod pengesahan) untuk log masuk. Kedua, artikel menerangkan proses pendaftaran: Klik butang "Daftar" Akhirnya, artikel itu juga menekankan keselamatan akaun, mengingatkan pengguna untuk memberi perhatian kepada nama domain rasmi, persekitaran rangkaian, dan mengemas kini kata laluan secara teratur untuk memastikan keselamatan akaun dan penggunaan pelbagai fungsi yang disediakan oleh Versi PC Binance, seperti melihat keadaan pasaran, menjalankan transaksi dan mengurus aset.

Pada platform mana urus niaga web3? Pada platform mana urus niaga web3? Mar 31, 2025 pm 07:54 PM

Artikel ini menyenaraikan sepuluh platform perdagangan Web3 yang terkenal, termasuk Binance, OKX, Gate.io, Kraken, Bybit, Coinbase, Kucoin, Bitget, Gemini dan Bitstamp. Artikel ini membandingkan ciri -ciri setiap platform secara terperinci, seperti bilangan mata wang, jenis dagangan (tempat, niaga hadapan, pilihan, NFT, dll), yuran pengendalian, keselamatan, pematuhan, kumpulan pengguna, dan lain -lain, bertujuan untuk membantu pelabur memilih platform perdagangan yang paling sesuai. Sama ada peniaga frekuensi tinggi, peminat perdagangan kontrak, atau pelabur yang memberi tumpuan kepada pematuhan dan keselamatan, mereka dapat mencari maklumat rujukan daripadanya.

Koleksi Laman Web Rasmi Rangkaian Perdagangan Mata Wang 2025 Koleksi Laman Web Rasmi Rangkaian Perdagangan Mata Wang 2025 Mar 31, 2025 pm 03:57 PM

Ia berada di antara bahagian atas di dunia, menyokong semua kategori urus niaga seperti tempat, kontrak, dan dompet Web3. Ia mempunyai yuran pengendalian keselamatan yang tinggi dan rendah. Platform perdagangan yang komprehensif dengan sejarah yang panjang, yang terkenal dengan pematuhan dan kecairan yang tinggi, menyokong perkhidmatan berbilang bahasa. Pemimpin industri meliputi perdagangan mata wang, leverage, pilihan, dan lain -lain, dengan kecairan yang kukuh dan menyokong yuran potongan BNB.

Versi Web Gerbang Sesame Exchange Memasuki Versi Web Rasmi Sesame Exchange Klik untuk Masukkan Versi Web Gerbang Sesame Exchange Memasuki Versi Web Rasmi Sesame Exchange Klik untuk Masukkan Mar 31, 2025 pm 06:18 PM

Sesame Exchange Gate.io Web Versi mudah untuk log masuk. Hanya masukkan "Gate.io" di bar alamat penyemak imbas dan tekan Enter untuk mengakses laman web rasmi. Laman web ringkas menyediakan pilihan "log masuk" dan "mendaftar" yang jelas, dan pengguna boleh memilih untuk log masuk ke akaun berdaftar atau mendaftarkan akaun baru mengikut situasi mereka sendiri. Selepas mendaftar atau log masuk, anda boleh memasukkan antara muka perdagangan utama untuk menjalankan perdagangan cryptocurrency, memeriksa keadaan pasaran dan pengurusan akaun. Gate.io mempunyai antara muka yang mesra dan mudah dikendalikan, sesuai untuk pemula dan peniaga profesional.

See all articles