Blockchain: cén PoC ba cheart dúinn a thógáil?

Tá eagla ar do shúile agus tá cos ar do lámha!

In ailt roimhe seo, dhéileálamar leis na teicneolaíochtaí ar a dtógtar blockchain (Cad ba cheart dúinn a thógáil blockchain?) agus cásanna is féidir a chur i bhfeidhm lena gcabhair (Cén fáth ar chóir dúinn cás a thógáil?). Tá sé in am oibriú le do lámha! Chun píolótaí agus PoC (Cruthúnas Coincheapa) a chur i bhfeidhm, is fearr liom na scamaill a úsáid, mar ... is féidir rochtain a fháil orthu ó áit ar bith ar domhan agus, go minic, ní gá am a chur amú ar shuiteáil an chomhshaoil ​​go dona, mar gheall ar Tá cumraíochtaí réamhshocraithe ann. Mar sin, déanaimis rud éigin simplí, mar shampla, líonra chun boinn a aistriú idir rannpháirtithe agus déanaimis glaoch go measartha air Bitcoin. Chun seo a úsáidfimid an scamall IBM agus an blockchain uilíoch Hyperledger Fabraic. Gcéad dul síos, déanaimis a dhéanamh amach cén fáth a dtugtar blockchain uilíoch ar Fabraic Hyperledger?

Blockchain: cén PoC ba cheart dúinn a thógáil?

Fabraic Hyperledger - blockchain uilíoch

Go ginearálta, is é córas faisnéise uilíoch:

  • Sraith de fhreastalaithe agus croí bogearraí a chomhlíonann loighic gnó;
  • Comhéadain le haghaidh idirghníomhú leis an gcóras;
  • Uirlisí chun feistí/daoine a chlárú, a fhíordheimhniú agus a údarú;
  • Bunachar sonraí ag stóráil sonraí oibriúcháin agus cartlainne:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Is féidir an leagan oifigiúil den Fabraic Hyperledger a léamh ag Líne, agus i mbeagán focal, is ardán foinse oscailte é Hyperledger Fabric a ligeann duit blockchains príobháideacha a thógáil agus conarthaí cliste treallach a fhorghníomhú scríofa i dteangacha cláir JS agus Go. Breathnaímid go mion ar ailtireacht Fabraic Hyperledger agus déanaimis cinnte gur córas uilíoch é seo nach bhfuil ann ach sonraí maidir le stóráil agus taifeadadh sonraí. Is é an sainiúlacht ná go stóráiltear na sonraí, mar atá i ngach blockchain, i mbloic a chuirtear ar an blockchain ach amháin má thagann na rannpháirtithe ar chomhdhearcadh agus tar éis na sonraí a thaifeadadh nach féidir iad a cheartú nó a scriosadh go ciúin.

Ailtireacht Fabraic Hyperledger

Taispeánann an léaráid an ailtireacht Fabraic Hyperledger:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Eagraíochtaí — go bhfuil piaraí in eagraíochtaí, i.e. Tá blockchain ann mar gheall ar thacaíocht eagraíochtaí. Is féidir le heagraíochtaí éagsúla a bheith mar chuid den chainéal céanna.

Channel — struchtúr loighciúil a cheanglaíonn piaraí ina ngrúpaí, i.e. tá an blockchain sonraithe. Is féidir le Fabraic Hyperledger il blockchain a phróiseáil ag an am céanna le loighic ghnó éagsúla.

Soláthraí Seirbhísí Ballraíochta (BPA) is ÚD (Údarás Teastais) é chun céannacht a eisiúint agus róil a shannadh. Chun nód a chruthú, ní mór duit idirghníomhú leis an BPA.

Nóid piaraí — idirbhearta a fhíorú, an blockchain a stóráil, conarthaí cliste a fhorghníomhú agus idirghníomhú le feidhmchláir. Tá aitheantas (deimhniú digiteach) ag piaraí, a eisíonn an BPA. Murab ionann agus an líonra Bitcoin nó Etherium, áit a bhfuil cearta comhionanna ag gach nóid, imríonn nóid Fabraic Hyperledger róil éagsúla:

  • Piaraí b'fhéidir piaraí a fhormhuiniú (PE) agus conarthaí cliste a fhorghníomhú.
  • Piaraí tiomanta (CP) - sábháil sonraí sa blockchain agus nuashonraigh an “Staid Dhomhanda”.
  • Piaraí Ancaire (AP) - má ghlacann eagraíochtaí éagsúla páirt sa blockchain, úsáidtear piaraí ancaire chun cumarsáid a dhéanamh eatarthu. Caithfidh piaraí ancaire amháin nó níos mó a bheith ag gach eagraíocht. Trí úsáid a bhaint as AP, is féidir le piaraí ar bith in eagraíocht faisnéis a fháil faoi gach piaraí in eagraíochtaí eile. Úsáidtear é chun faisnéis a shioncronú idir APanna prótacal gossip.
  • Piaraí Ceannaire — má tá roinnt piaraí ag eagraíocht, ní bhfaighidh ach ceannaire an phiara bloic ón tseirbhís Ordaithe agus tabharfaidh sé don chuid eile de na piaraí iad. Is féidir leis an gceannaire a shonrú go statach nó a roghnú go dinimiciúil ag piaraí san eagraíocht. Úsáidtear an prótacal gossip freisin chun faisnéis faoi cheannairí a shioncronú.

Sócmhainní — eintitis a bhfuil luach acu agus a stóráiltear ar an mblocshlabhra. Go sonrach, is sonraí eochairluacha iad seo i bhformáid JSON. Is iad na sonraí seo a thaifeadtar sa Blockchain. Tá stair acu, atá stóráilte sa blockchain, agus staid reatha, atá stóráilte sa bhunachar sonraí “Stáit Dhomhanda”. Líontar struchtúir sonraí go treallach ag brath ar thascanna gnó. Níl aon réimsí riachtanacha ann, is é an t-aon mholadh atá ann ná go gcaithfidh úinéir a bheith ag sócmhainní agus a bheith luachmhar.

Mórleabhar — comhdhéanta de bhunachar sonraí Blockchain agus stát Word, a stórálann staid reatha na sócmhainní. Úsáideann stát an domhain LevelDB nó CouchDB.

Conradh cliste — trí chonarthaí cliste a úsáid, cuirtear loighic ghnó an chórais chun feidhme. I Fabraic Hyperledger, tugtar chaincode ar chonarthaí cliste. Ag baint úsáide as slabhrachóid, sonraítear sócmhainní agus idirbhearta os a gcionn. I dtéarmaí teicniúla, is modúil bogearraí iad conarthaí cliste a chuirtear i bhfeidhm i dteangacha ríomhchlárúcháin JS nó Go.

Beartas formhuinithe — i gcás gach slabhrachóid, is féidir leat beartas a shocrú maidir le cé mhéad deimhniú ar idirbheart ar cheart a bheith ag súil leis agus cé uaidh. Mura bhfuil an polasaí socraithe, is é an réamhshocrú ná: “ní mór don idirbheart a bheith deimhnithe ag aon bhall d’aon eagraíocht sa chainéal.” Samplaí de pholasaithe:

  • Ní mór don idirbheart a bheith ceadaithe ag aon riarthóir de chuid na heagraíochta;
  • Ní mór é a bheith deimhnithe ag aon bhall nó cliant de chuid na heagraíochta;
  • Ní mór é a bheith deimhnithe ag aon eagraíocht piaraí.

Seirbhís a ordú — pacálann sé na hidirbhearta i mbloic agus cuireann sé chuig piaraí sa chainéal iad. Ráthaíonn sé seachadadh teachtaireachtaí chuig gach piaraí ar an líonra. Úsáidtear é le haghaidh córais thionsclaíocha Bróicéir teachtaireacht Kafka, le haghaidh forbartha agus tástála Aonair.

Sreabhadh Glaonna

Blockchain: cén PoC ba cheart dúinn a thógáil?

  • Déanann an feidhmchlár cumarsáid le Hyperledger Fabric ag baint úsáide as Go, Node.js nó Java SDK;
  • Cruthaíonn an cliant idirbheart tx agus seolann sé chuig piaraí formhuinithe é;
  • Fíoraíonn an Piaraí síniú an chliaint, cuireann sé an t-idirbheart i gcrích, agus seolann an síniú formhuinithe ar ais chuig an gcliant. Ní dhéantar Chaincode a fhorghníomhú ach amháin ar an bpiaraí formhuinithe, agus seoltar toradh a fhorghníomhaithe chuig gach piaraí. Tugtar comhdhearcadh PBFT (Praiticiúil Byzantine Locht Tolerant) ar an algartam oibre seo. Difriúil ó BFT clasaiceach an fhíric go seolfar an teachtaireacht agus go bhfuiltear ag súil le deimhniú ní ó na rannpháirtithe go léir, ach ó shraith áirithe amháin;
  • Tar éis don chliant líon na bhfreagraí a fhreagraíonn don pholasaí formhuinithe a fháil, cuireann sé an t-idirbheart chuig an tseirbhís Ordú;
  • Gineann an tseirbhís Ordaithe bloc agus cuireann sé chuig gach piaraí tiomanta é. Cinntíonn an tseirbhís ordaithe taifeadadh seicheamhach de bhlocanna, rud a scriosann an forc mórleabhair mar a thugtar air (féach an rannán "Forcanna");
  • Faigheann piaraí bloc, seiceáil an polasaí formhuinithe arís, scríobh an bloc chuig an blockchain agus athraigh an stát sa DB “Stáit Dhomhanda”.

Iad siúd. Mar thoradh air seo roinntear róil idir na nóid. Cinntíonn sé seo go bhfuil an blockchain inscálaithe agus slán:

  • Feidhmíonn conarthaí cliste (chaincode) piaraí formhuinithe. Cinntíonn sé seo rúndacht na gconarthaí cliste, mar gheall ar ní dhéantar é a stóráil ag na rannpháirtithe go léir, ach trí phiaraí a fhormhuiniú amháin.
  • Ba chóir go n-oibreodh ordú go tapa. Cinntítear é seo toisc nach ndéanann Ordú ach bloc agus go seolann sé chuig sraith sheasta de phiaraí ceannaire é.
  • Ní dhéanann piaraí tiomanta ach an blockchain a stóráil - is féidir go leor acu a bheith ann agus ní éilíonn siad go leor cumhachta agus oibriú an toirt.

Tá tuilleadh sonraí ar réitigh ailtireachta Hyperledger Fabric agus cén fáth a n-oibríonn sé ar an mbealach seo agus nach bhfuil ar shlí eile le fáil anseo: Bunús Ailtireachta nó anseo: Fabraic Hyperledger: Córas Oibriúcháin Dáilte le haghaidh Blockchains Ceadaithe.

Mar sin, is córas fíor-uilíoch é Fabraic Hyperledger ar féidir leat:

  • loighic gnó treallach a chur i bhfeidhm ag baint úsáide as an meicníocht conartha cliste;
  • Taifead agus faigh sonraí ón mbunachar sonraí blockchain i bhformáid JSON;
  • Deonaigh agus fíoraigh rochtain API ag baint úsáide as an tÚdarás Deimhnithe.

Anois go dtuigeann muid beagán faoi na saintréithe atá ag Hyperledger Fabric, déanaimis rud éigin úsáideach ar deireadh!

Imscaradh blockchain

An fhadhb a fhoirmiú

Is é an tasc ná líonra Citcoin a chur i bhfeidhm leis na feidhmeanna seo a leanas: cuntas a chruthú, cothromaíocht a fháil, do chuntas a bhreisiú, boinn airgid a aistriú ó chuntas amháin go ceann eile. Déanaimis samhail réad a tharraingt, a chuirfimid i bhfeidhm tuilleadh i gconradh cliste. Mar sin, beidh cuntais againn a shainaithnítear le hainmneacha agus a mbeidh iarmhéid, agus liosta cuntas iontu. Tá cuntais agus liosta cuntas, i dtéarmaí sócmhainní Hyperledger Fabric. Dá réir sin, tá stair agus staid reatha acu. Déanfaidh mé iarracht é seo a tharraingt go soiléir:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Is iad na figiúirí is airde ná an staid reatha, atá stóráilte sa bhunachar sonraí “Stáit Dhomhanda”. Thíos iad tá figiúirí a léiríonn an stair atá stóráilte sa blockchain. Athraítear staid reatha na sócmhainní trí idirbhearta. Ní athraíonn an Sócmhainn ach ina iomláine, mar sin mar thoradh ar an idirbheart, cruthaítear réad nua, agus téann luach reatha na sócmhainne isteach sa stair.

Scamall IBM

Cruthaímid cuntas in scamall IBM. Chun an t-ardán blockchain a úsáid, ní mór é a uasghrádú go Íoc Mar a Úsáidtear. Seans nach mbeidh an próiseas seo tapa, mar... Iarrann IBM faisnéis bhreise agus fíoraíonn sé de láimh é. Ar nóta dearfach, is féidir liom a rá go bhfuil ábhair oiliúna maith ag IBM a ligeann duit Fabraic Hyperledger a imscaradh ina scamall. Thaitin an tsraith alt agus samplaí seo a leanas liom:

Seo a leanas scáileáin scáileáin den ardán Blockchain IBM. Ní treoir é seo ar conas blockchain a chruthú, ach go simplí léiriú ar raon feidhme an taisc. Mar sin, chun ár gcríoch, déanaimid Eagraíocht amháin:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Cruthaímid nóid ann: Ordú CA, Org1 CA, Piaraí Ordaithe:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Cruthaímid úsáideoirí:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Cruthaigh Cainéal agus cuir citcoin air:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Go bunúsach is blockchain é Channel, mar sin tosaíonn sé le bloc nialais (bloc Genesis):

Blockchain: cén PoC ba cheart dúinn a thógáil?

Conradh Cliste a Scríobh

/*
 * Citcoin smart-contract v1.5 for Hyperledger Fabric
 * (c) Alexey Sushkov, 2019
 */
 
'use strict';
 
const { Contract } = require('fabric-contract-api');
const maxAccounts = 5;
 
class CitcoinEvents extends Contract {
 
    async instantiate(ctx) {
        console.info('instantiate');
        let emptyList = [];
        await ctx.stub.putState('accounts', Buffer.from(JSON.stringify(emptyList)));
    }
    // Get all accounts
    async GetAccounts(ctx) {
        // Get account list:
        let accounts = '{}'
        let accountsData = await ctx.stub.getState('accounts');
        if (accountsData) {
            accounts = JSON.parse(accountsData.toString());
        } else {
            throw new Error('accounts not found');
        }
        return accountsData.toString()
    }
     // add a account object to the blockchain state identifited by their name
    async AddAccount(ctx, name, balance) {
        // this is account data:
        let account = {
            name: name,
            balance: Number(balance),       
            type: 'account',
        };
        // create account:
        await ctx.stub.putState(name, Buffer.from(JSON.stringify(account)));
 
        // Add account to list:
        let accountsData = await ctx.stub.getState('accounts');
        if (accountsData) {
            let accounts = JSON.parse(accountsData.toString());
            if (accounts.length < maxAccounts)
            {
                accounts.push(name);
                await ctx.stub.putState('accounts', Buffer.from(JSON.stringify(accounts)));
            } else {
                throw new Error('Max accounts number reached');
            }
        } else {
            throw new Error('accounts not found');
        }
        // return  object
        return JSON.stringify(account);
    }
    // Sends money from Account to Account
    async SendFrom(ctx, fromAccount, toAccount, value) {
        // get Account from
        let fromData = await ctx.stub.getState(fromAccount);
        let from;
        if (fromData) {
            from = JSON.parse(fromData.toString());
            if (from.type !== 'account') {
                throw new Error('wrong from type');
            }   
        } else {
            throw new Error('Accout from not found');
        }
        // get Account to
        let toData = await ctx.stub.getState(toAccount);
        let to;
        if (toData) {
            to = JSON.parse(toData.toString());
            if (to.type !== 'account') {
                throw new Error('wrong to type');
            }  
        } else {
            throw new Error('Accout to not found');
        }
 
        // update the balances
        if ((from.balance - Number(value)) >= 0 ) {
            from.balance -= Number(value);
            to.balance += Number(value);
        } else {
            throw new Error('From Account: not enought balance');          
        }
 
        await ctx.stub.putState(from.name, Buffer.from(JSON.stringify(from)));
        await ctx.stub.putState(to.name, Buffer.from(JSON.stringify(to)));
                 
        // define and set Event
        let Event = {
            type: "SendFrom",
            from: from.name,
            to: to.name,
            balanceFrom: from.balance,
            balanceTo: to.balance,
            value: value
        };
        await ctx.stub.setEvent('SendFrom', Buffer.from(JSON.stringify(Event)));
 
        // return to object
        return JSON.stringify(from);
    }
 
    // get the state from key
    async GetState(ctx, key) {
        let data = await ctx.stub.getState(key);
        let jsonData = JSON.parse(data.toString());
        return JSON.stringify(jsonData);
    }
    // GetBalance   
    async GetBalance(ctx, accountName) {
        let data = await ctx.stub.getState(accountName);
        let jsonData = JSON.parse(data.toString());
        return JSON.stringify(jsonData);
    }
     
    // Refill own balance
    async RefillBalance(ctx, toAccount, value) {
        // get Account to
        let toData = await ctx.stub.getState(toAccount);
        let to;
        if (toData) {
            to = JSON.parse(toData.toString());
            if (to.type !== 'account') {
                throw new Error('wrong to type');
            }  
        } else {
            throw new Error('Accout to not found');
        }
 
        // update the balance
        to.balance += Number(value);
        await ctx.stub.putState(to.name, Buffer.from(JSON.stringify(to)));
                 
        // define and set Event
        let Event = {
            type: "RefillBalance",
            to: to.name,
            balanceTo: to.balance,
            value: value
        };
        await ctx.stub.setEvent('RefillBalance', Buffer.from(JSON.stringify(Event)));
 
        // return to object
        return JSON.stringify(from);
    }
}
module.exports = CitcoinEvents;

Go hintinneach, ba chóir go mbeadh gach rud soiléir anseo:

  • Tá roinnt feidhmeanna (AddAccount, GetAccounts, SendFrom, GetBalance, RefillBalance) a ghlaonn an clár taispeána ag baint úsáide as an Hyperledger Fabric API.
  • Gineann na feidhmeanna SendFrom agus RefillBalance Imeachtaí a gheobhaidh an clár taispeána.
  • Tugtar an fheidhm instantiate uair amháin nuair a chuirtear conradh cliste ar an toirt. Go deimhin, tugtar ní hamháin uair amháin air, ach gach uair a athraíonn leagan an chonartha cliste. Dá bhrí sin, is droch-smaoineamh é liosta a thosú le sraith folamh, mar gheall ar Anois, nuair a athraíonn muid an leagan den chonradh cliste, caillfimid an liosta reatha. Ach tá sé ceart go leor, níl mé ach ag foghlaim).
  • Is struchtúir sonraí JSON iad cuntais agus liosta cuntas. Úsáidtear JS chun sonraí a ionramháil.
  • Is féidir leat luach reatha sócmhainne a fháil tríd an nglao feidhme getState a úsáid, agus é a nuashonrú le putState.
  • Nuair a bhíonn Cuntas á chruthú, tugtar an fheidhm AddAccount, ina ndéantar comparáid maidir le huaslíon na gcuntas sa blockchain (maxAccounts = 5). Agus anseo tá jamb (ar thug tú faoi deara?), As a dtagann méadú gan teorainn ar líon na gcuntas. Ba cheart botúin mar seo a sheachaint)

Ansin, déanaimid an conradh cliste a luchtú isteach sa Chainéal agus é a thabhairt ar an toirt:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Breathnaímid ar an idirbheart maidir le Conradh Cliste a shuiteáil:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Breathnaímid ar na sonraí faoinár gCainéal:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Mar thoradh air sin, faigheann muid an léaráid seo a leanas de líonra blockchain sa scamall IBM. Taispeánann an léaráid freisin clár taispeána a ritheann sa scamall Amazon ar fhreastalaí fíorúil (tuilleadh faoi sa chéad chuid eile):

Blockchain: cén PoC ba cheart dúinn a thógáil?

GUI a chruthú le haghaidh glaonna API Fabraic Hyperledger

Tá API ag Hyperledger Fabric is féidir a úsáid chun:

  • Cruthaigh cainéal;
  • Naisc piara le cainéal;
  • Suiteáil agus toirt conarthaí cliste sa chainéal;
  • Idirbhearta glaonna;
  • Iarr eolas ar an blockchain.

Forbairt Feidhmchláir

In ár gclár taispeána bainfimid úsáid as an API amháin chun idirbhearta a ghlaoch agus faisnéis a iarraidh, mar gheall ar Tá na céimeanna atá fágtha críochnaithe againn cheana féin ag baint úsáide as ardán blockchain IBM. Scríobhaimid GUI ag baint úsáide as stack teicneolaíochta caighdeánach: Express.js + Vue.js + Node.js. Is féidir leat alt ar leith a scríobh faoi conas feidhmchláir ghréasáin nua-aimseartha a chruthú. Fágfaidh mé anseo nasc chuig an tsraith léachtaí is mó a thaitin liom: Aip Ghréasáin Stack Iomlán ag baint úsáide as Vue.js & Express.js. Is é an toradh atá air ná feidhmchlár cliant-freastalaí a bhfuil comhéadan grafach eolach air i stíl Dearaidh Ábhar Google. Cuimsíonn an REST API idir cliant agus freastalaí roinnt glaonna:

  • HyperledgerDemo/v1/init - tús a chur leis an blockchain;
  • HyperledgerDemo/v1/cuntais/liosta — faigh liosta de na cuntais go léir;
  • HyperledgerDemo/v1/account?name=Bob&balance=100 — cruthaigh cuntas Bob;
  • HyperledgerDemo/v1/info?account=Bob — faigh eolas faoi chuntas Bob;
  • HyperledgerDemo/v1/transaction?from=Bob&to=Alice&volume=2 — aistrigh dhá bhonn ó Bob go Alice;
  • HyperledgerDemo/v1/disconnect - dún an nasc leis an blockchain.

Cur síos ar an API le samplaí san áireamh i Láithreán gréasáin postman - clár aitheanta chun API HTTP a thástáil.

Feidhmchlár taispeána i scamall Amazon

D'uaslódáil mé an feidhmchlár chuig Amazon mar gheall ar... Ní raibh IBM in ann mo chuntas a uasghrádú go fóill agus lig dom freastalaithe fíorúla a chruthú. Conas silíní a chur leis an bhfearann: www.citcoin.info. Coinneoidh mé an freastalaí air ar feadh tamaill, ansin casfaidh mé as é, mar... tá na cent ar cíos ag sileadh, agus níl boinn citcoin liostaithe fós ar an stocmhalartán) Tá mé ag áireamh screenshots den taispeántas san alt ionas go mbeidh loighic na hoibre soiléir. Is féidir leis an bhfeidhmchlár taispeána:

  • Tús a chur leis an blockchain;
  • Cruthaigh Cuntas (ach anois ní féidir leat Cuntas nua a chruthú, toisc go bhfuil an t-uaslíon cuntas a shonraítear sa chonradh cliste bainte amach sa blockchain);
  • Faigh liosta Cuntas;
  • Boinn citcoin a aistriú idir Alice, Bob agus Alex;
  • Faigh imeachtaí (ach anois níl aon bhealach ann imeachtaí a thaispeáint, mar sin ar mhaithe le simplíocht deir an comhéadan nach dtacaítear le himeachtaí);
  • Gníomhartha logáil.

Ar dtús déanaimid an blockchain a thosú:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Ansin, cruthaímid ár gcuntas, ná cuir am amú leis an iarmhéid:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Faighimid liosta de na cuntais go léir atá ar fáil:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Roghnaimid an seoltóir agus an faighteoir, agus faighimid a gcuid iarmhéideanna. Más ionann an seoltóir agus an faighteoir, déanfar a chuntas a athlánú:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Sa logáil déanaimid monatóireacht ar chur i gcrích na n-idirbheart:

Blockchain: cén PoC ba cheart dúinn a thógáil?

I ndáiríre, sin é go léir leis an gclár taispeána. Anseo thíos is féidir leat ár n-idirbheart a fheiceáil sa blockchain:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Agus liosta ginearálta na n-idirbheart:

Blockchain: cén PoC ba cheart dúinn a thógáil?

Leis seo, d'éirigh linn cur i bhfeidhm an PoC a chur i bhfeidhm chun líonra Citcoin a chruthú. Cad eile is gá a dhéanamh chun Citcoin a bheith ina líonra lán-chuimsitheach chun monaí a aistriú? Is beag:

  • Ag an gcéim cruthaithe cuntas, giniúint eochair phríobháideach / phoiblí a chur i bhfeidhm. Ní mór an eochair phríobháideach a stóráil leis an úsáideoir cuntais, ní mór an eochair phoiblí a stóráil sa blockchain.
  • Déan aistriú boinn ina n-úsáidtear eochair phoiblí, seachas ainm, chun an t-úsáideoir a shainaithint.
  • Criptigh idirbhearta ag dul ón úsáideoir go dtí an freastalaí lena eochair phríobháideach.

Conclúid

Tá líonra Citcoin curtha i bhfeidhm againn leis na feidhmeanna seo a leanas: cuir cuntas, faigh iarmhéid, breisigh do chuntas, aistrigh boinn ó chuntas amháin go cuntas eile. Mar sin, cad a chosain sé orainn PoC a thógáil?

  • Ní mór duit staidéar a dhéanamh ar blockchain i gcoitinne agus Fabraic Hyperledger go háirithe;
  • Foghlaim conas scamaill IBM nó Amazon a úsáid;
  • Foghlaim teanga ríomhchlárúcháin JS agus roinnt creat gréasáin;
  • Más gá roinnt sonraí a stóráil nach bhfuil sa blockchain, ach i mbunachar sonraí ar leith, ansin foghlaim conas a chomhtháthú, mar shampla, le PostgreSQL;
  • Agus ar deireadh ach ní ar a laghad - ní féidir leat maireachtáil sa saol nua-aimseartha gan eolas ar Linux!)

Ar ndóigh, ní eolaíocht roicéad é, ach beidh ort oibriú go crua!

Foinsí ar GitHub

Foinsí curtha ar GitHub. Cur síos gairid ar an stór:
Catalóg "freastalaí» — freastalaí Node.js
Catalóg "cliant» — Cliant Node.js
Catalóg "blockchain"(tá luachanna paraiméadar agus eochracha, ar ndóigh, neamhoibríoch agus ní thugtar iad ach mar shampla):

  • conradh - cód foinse conartha cliste
  • sparán - eochracha úsáideora chun an Hyperledger Fabric API a úsáid.
  • *.cds - leaganacha tiomsaithe de chonarthaí cliste
  • * Comhaid json - samplaí de chomhaid chumraíochta chun an Hyperledger Fabric API a úsáid

Níl ann ach an tús!

Foinse: will.com

Add a comment