DAPP公排互助雙軌模式系統開發詳情丨Dapp技術框架

Lyr96246466發表於2023-05-11

  區塊鏈是分散式資料儲存開發+181公鏈2591合約開發3365微電點對點傳輸、共識機制、加密演算法等計算機技術的新型應

用模式。


  區塊鏈(Blockchain),是比特幣的一個重要概念,它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術,是

一串使用密碼學方法相關聯產生的資料塊,每一個資料塊中包含了一批次比特幣網路交易的資訊,用於驗證其資訊的有效性

(防偽)和生成下一個區塊。

'use strict';

const shim require('fabric-shim');

const util = require('util');

let Chaincode = class {

 //初始化智慧合約的方法

 async Init(stub) {

 console.info('=========== Instantiated fabcar chaincode ===========');

 return shim.success();

 }

 async Invoke(stub) {

 let ret = stub.getFunctionAndParameters(); //獲取函式和引數

 console.info(ret);

 let method = this[ret.fcn];

 if (!method) {

 console.error('找不到要呼叫的函式,函式名:' + ret.fcn);

 throw new Error('找不到要呼叫的函式,函式名:' + ret.fcn);

 }

 try {

 let payload = await method(stub, ret.params); //直接呼叫函式,獲取返回值

 return shim.success(payload);

 } catch (err) {

 console.log(err);

 return shim.error(err);

     }

 }

區塊鏈是透過分散的節點網路實現安全的交易,這些節點透過區塊的形式記錄交易內容。


每一個新的節點都會把其以前的區塊新增到鏈中,以此維護此鏈的完整性和一致性。


區塊鏈還支援加密技術的使用,以確保不受惡意攻擊者的侵害。

 async queryFish(stub, args) {

 if (args.length != 1) {

 throw new Error('錯誤的呼叫引數. 例項: FISH01');

 }

 let fishNumber = args[0];

 let fishAsBytes = await stub.getState(fishNumber); //從賬本中獲取fish的資訊,賬本是二進位制儲存的

 if (!fishAsBytes || fishAsBytes.toString().length <= 0) {

 throw new Error(fishAsBytes + ' 不存在: ');

 }

 console.log(fishAsBytes.toString());

 return fishAsBytes;


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70012429/viewspace-2951484/,如需轉載,請註明出處,否則將追究法律責任。

相關文章