


mata teras
- Ascribe menggunakan blockchain bitcoin untuk merekodkan pengenalan unik karya seni digital dan menggabungkan pangkalan data NoSQL (Rethinkdb) dengan lapisan blockchain untuk membuat BigChaindb. Gabungan ini meningkatkan kawalan, pengesanan aset dan tahap keselamatan, dan sangat menarik untuk pengguna pangkalan data NoSQL.
- BigChaindb mendakwa sepenuhnya terdesentralisasi kerana lapisan blockchainnya. Ia juga menambah sokongan transaksi, ciri yang sering hilang dalam pangkalan data NoSQL. Sokongan ini memastikan perubahan pangkalan data telah berlaku ketika menulis ke pangkalan data NoSQL yang mendasari melalui lapisan blockchain.
- BigChaindb boleh mengisi jurang yang hilang dalam pangkalan data NoSQL dan diedarkan semasa, yang mungkin menyediakan kes perniagaan atau penggunaan yang berkesan. Bagi peminat blockchain, ia mencapai cabaran susunan aplikasi yang terdesentralisasi sepenuhnya, yang mungkin mengubah bagaimana aplikasi dibangunkan, digunakan, dan dikekalkan.
Ascribe adalah permulaan yang menarik yang menggunakan blockchain bitcoin untuk merekodkan bilangan pengenal unik yang terhad untuk karya seni digital. Oleh itu, disebabkan bilangan "salinan" yang terhad ini, mereka boleh dikesan, bertanggungjawab dan (mudah -mudahan) nilai yang lebih tinggi.
Ascribe menghadapi masalah teknikal apabila menggunakan kaedah ini, yang terutamanya berpunca daripada blockchain bitcoin itu sendiri. Ia lambat untuk menulis segala -galanya, mahal (kini 80 sen setiap masa) dan penyertaan harian terhad dan jumlah kapasiti menulis. Ia juga bertentangan dengan teknik pangkalan data berskala tipikal, menambah nod tidak meningkatkan prestasi, dan tidak ada bahasa pertanyaan sebenar. Ini menjadikan pengembangan perniagaan berdasarkan bitcoin blockchain sebagai cabaran.
Walau bagaimanapun, konsep blockchain adalah konsep yang kuat, dan penggunaan dan legitimasinya telah meningkat sejak beberapa tahun kebelakangan ini, dan bahkan bank -bank besar telah mengumumkan bahawa mereka sedang membangunkan teknologi yang diilhamkan oleh konsep itu.
Ascribe memutuskan untuk menggabungkan kelebihan kedua -duanya, mengamalkan pangkalan data NoSQL yang terbukti (RethinkDB) dan menambah lapisan blockchain untuk meningkatkan kawalan, pengesanan aset dan tahap keselamatan tambahan.
Gabungan teknologi ini amat menarik untuk pengguna pangkalan data NoSQL, kerana beberapa sokongan pangkalan data NoSQL secara tradisinya membantu memastikan perubahan pangkalan data telah berlaku "urus niaga". BigChaindb menambah sokongan transaksi dengan menulis kepada pangkalan data NoSQL yang mendasari melalui lapisan blockchain.
BigChaindb juga mendakwa sepenuhnya terdesentralisasi kerana lapisan blockchain. Walaupun banyak pangkalan data NoSQL yang diedarkan mendakwa telah terdesentralisasi, sering terdapat tetapan pseudo-master/hamba.
Memasang BigChaindb dan Dependency
Terdapat beberapa cara untuk memasang BigChaindb. Mula -mula saya mencuba imej Docker, tetapi menemui beberapa isu sambungan dan mendapati bahawa pakej Python adalah yang paling dipercayai.
- Pasang RethinkDB, dan untuk pengguna Mac yang lain, terdapat juga pakej homebrew yang tersedia.
- Pasang Python 3.4.
- Pasang BigChaindb dengan Pip - sudo Pip Install BigChaindb
- Mula Rethinkdb dengan Rethinkdb
- Mula BigChaindb dengan BigChaindb Start, ia juga akan mengkonfigurasi beberapa kandungan untuk anda.
- Buka BigChaindb (sebenarnya rethinkdb ui) di http: // server_ip: 58080/.
Contoh mudah - Peruntukan mesej dan penjejakan
Salah satu kes penggunaan utama BigChaindb (dan mengapa ascribe menciptanya) adalah untuk mengesan aset, jadi mari kita buat contoh mudah dalam Python. Mula -mula jalankan arahan berikut di terminal anda.
pip install bigchaindb bigchaindb configure bigchaindb show-config
Buat fail baru, app.py dan tambahkan yang berikut:
from bigchaindb import Bigchain b = Bigchain() print(b)
Ini akan mengimport perpustakaan BigChaindb, membuat objek baru dan sambungkannya menggunakan fail tetapan yang baru anda buat.
kemudian jalankan aplikasi python:
python app.py
anda harus melihat sesuatu seperti <bigchaindb.core.bigchain at></bigchaindb.core.bigchain>
, yang memberitahu kita semuanya baik -baik saja.
tambahkan yang berikut:
from bigchaindb import Bigchain import time b = Bigchain() spuser_priv, spuser_pub = b.generate_keys() print("User Created") digital_asset_payload = {'msg': 'This is my special message just for you'} tx = b.create_transaction(b.me, spuser_pub, None, 'CREATE', payload=digital_asset_payload) print("Transaction Written") tx_signed = b.sign_transaction(tx, b.me_private) b.write_transaction(tx_signed) print ("Transaction Written to BC, now waiting") time.sleep(10) tx_retrieved = b.get_transaction(tx_signed['id']) print(tx_retrieved)
Ini akan mewujudkan pengguna dan kunci yang berkaitan untuk mengakses pangkalan data - ingat tahap keselamatan tambahan. Kemudian buat muatan untuk menulis ke pangkalan data, peruntukkan kunci yang diperlukan, dan tuliskannya.
Berapa detik yang dilakukan oleh transaksi baru untuk lulus dari lapisan blockchain ke pangkalan data. Kod menunggu selama sepuluh saat, dan kemudian mengambil semula dan mencetak rekod. Anda harus melihat sesuatu seperti yang berikut:
{ "signature": '304502205...', "id": "0f442bcf4a42...", "transaction": { "timestamp": "1457104938.430521", "data": { "hash": "b32779e57...", "payload": { "msg": "This is my special message just for you" } }, "operation": "CREATE", "current_owner": "hFJKYk2...", "new_owner": "26pdiQTTx...", "input": None } } }
anda kini mempunyai mesej khas yang anda mahu seseorang dapat mengakses:
... print("Now to transfer") spuser2_priv, spuser2_pub = b.generate_keys() print("Second User Created") tx_transfer = b.create_transaction(spuser_pub, spuser2_pub, tx_retrieved['id'], 'TRANSFER') print("Transfer Created") tx_transfer_signed = b.sign_transaction(tx_transfer, spuser_priv) b.write_transaction(tx_transfer_signed) print ("Transaction Written to BC, now waiting") time.sleep(15) tx_transfer_retrieved = b.get_transaction(tx_transfer_signed['id']) print("Transferred") print(tx_transfer_retrieved)
Ini akan membuat pengguna kedua, kemudian dapatkan ID transaksi mesej khas dan pindahkannya ke pengguna kedua. Lapisan blockchain BigChaindb akan menghalang pengguna dan kod anda daripada melakukan operasi yang sama dua kali. Jika anda cuba menjalankan kod di atas sekali lagi, pengecualian perbelanjaan berganda dilemparkan.
Contoh ini menunjukkan sebahagian kecil daripada bagaimana BigChaindb ditambah kepada RethinkDB, dan senarai lengkap tersedia di sini.
http endpoint
Pada masa ini, satu -satunya perpustakaan pelanggan yang tersedia untuk BigChaindb adalah Python, dan mungkin terdapat lebih banyak perpustakaan, tetapi pada masa yang sama, titik akhir HTTP yang terhad boleh digunakan untuk menanyakan urus niaga yang ada:
https://www.php.cn/link/6EEA81FA0417B0068E614074225A9DAF
atau tulis transaksi baru menggunakan kaedah berikut:
https://www.php.cn/link/f8b64946ebc86a5e23e1605a2943210c
{ "id": "", "signature": "", "transaction": { "current_owner": "", "data": { "hash": "", "payload": null }, "input": null, "new_owner": "", "operation": "", "timestamp": "" } }
Komponen masa depan yang terdesentralisasi
Abaikan asal -usul bloknya pada masa ini, BigChaindb menyediakan sejumlah besar ciri yang hilang dalam NoSQL semasa dan pangkalan data yang diedarkan. Fakta ini sahaja mungkin menjadi alasan untuk mencubanya dan mungkin menyediakan kes perniagaan/penggunaan yang sah.Untuk peminat blockchain di antara anda, ia juga melengkapkan teka -teki timbunan aplikasi yang terdesentralisasi lengkap. Secara teorinya, kini terdapat Ethereum untuk aplikasi, IPF untuk sistem fail, dan BigChaindb untuk penyimpanan data. Komponen -komponen ini menetapkan tahap untuk cara yang sangat berbeza untuk membangun, menggunakan dan mengekalkan aplikasi, mewujudkan masa depan yang menarik, dan saya berharap dapat mendengar komen anda mengenai ini dalam komen di bawah.
(bahagian FAQ ditinggalkan di sini kerana bahagian ini hanyalah ringkasan mudah dan menceritakan kandungan artikel dan tidak masuk ke dalam kategori pseudo-asal.)
Atas ialah kandungan terperinci Menguruskan Penyimpanan Data dengan Blockchain dan BigChaindb. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Memilih Python atau C bergantung kepada keperluan projek: 1) Jika anda memerlukan pembangunan pesat, pemprosesan data dan reka bentuk prototaip, pilih Python; 2) Jika anda memerlukan prestasi tinggi, latensi rendah dan kawalan perkakasan yang rapat, pilih C.

Dengan melabur 2 jam pembelajaran python setiap hari, anda dapat meningkatkan kemahiran pengaturcaraan anda dengan berkesan. 1. Ketahui Pengetahuan Baru: Baca dokumen atau tutorial menonton. 2. Amalan: Tulis kod dan latihan lengkap. 3. Kajian: Menyatukan kandungan yang telah anda pelajari. 4. Amalan Projek: Sapukan apa yang telah anda pelajari dalam projek sebenar. Pelan pembelajaran berstruktur seperti ini dapat membantu anda menguasai Python secara sistematik dan mencapai matlamat kerjaya.

Kaedah untuk belajar python dengan cekap dalam masa dua jam termasuk: 1. Semak pengetahuan asas dan pastikan anda sudah biasa dengan pemasangan Python dan sintaks asas; 2. Memahami konsep teras python, seperti pembolehubah, senarai, fungsi, dan lain -lain; 3. Menguasai penggunaan asas dan lanjutan dengan menggunakan contoh; 4. Belajar kesilapan biasa dan teknik debugging; 5. Memohon pengoptimuman prestasi dan amalan terbaik, seperti menggunakan komprehensif senarai dan mengikuti panduan gaya PEP8.

Python sesuai untuk pemula dan sains data, dan C sesuai untuk pengaturcaraan sistem dan pembangunan permainan. 1. Python adalah mudah dan mudah digunakan, sesuai untuk sains data dan pembangunan web. 2.C menyediakan prestasi dan kawalan yang tinggi, sesuai untuk pembangunan permainan dan pengaturcaraan sistem. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Python lebih sesuai untuk sains data dan perkembangan pesat, manakala C lebih sesuai untuk prestasi tinggi dan pengaturcaraan sistem. 1. Sintaks Python adalah ringkas dan mudah dipelajari, sesuai untuk pemprosesan data dan pengkomputeran saintifik. 2.C mempunyai sintaks kompleks tetapi prestasi yang sangat baik dan sering digunakan dalam pembangunan permainan dan pengaturcaraan sistem.

Adalah mungkin untuk melabur dua jam sehari untuk belajar Python. 1. Belajar Pengetahuan Baru: Ketahui konsep baru dalam satu jam, seperti senarai dan kamus. 2. Amalan dan Amalan: Gunakan satu jam untuk melakukan latihan pengaturcaraan, seperti menulis program kecil. Melalui perancangan dan ketekunan yang munasabah, anda boleh menguasai konsep teras Python dalam masa yang singkat.

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Dreamweaver Mac版
Alat pembangunan web visual

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini