Blockchain: menene PoC ya kamata mu gina?

Idanunku suna tsoro kuma hannayenku suna ƙaiƙayi!

A cikin labaran da suka gabata, mun yi magana game da fasahar da aka gina blockchain a kansu (Me ya kamata mu gina blockchain?) da kuma lamuran da za a iya aiwatar da su tare da taimakonsu (Me ya sa za mu gina harka?). Lokaci ya yi da za a yi aiki da hannuwanku! Don aiwatar da matukan jirgi da PoC (Hujjar Ra'ayi), Na fi son yin amfani da gajimare, saboda ... ana iya samun su daga ko'ina cikin duniya kuma, sau da yawa, ba a buƙatar ɓata lokaci a kan shigar da muhalli mai wahala, saboda Akwai saitunan saiti. Don haka, bari mu yi wani abu mai sauƙi, alal misali, hanyar sadarwa don canja wurin tsabar kudi tsakanin mahalarta kuma bari mu kira shi Bitcoin cikin ladabi. Don wannan za mu yi amfani da gajimare na IBM da na duniya blockchain Hyperledger Fabric. Da farko, bari mu gano dalilin da yasa ake kira Hyperledger Fabric blockchain na duniya?

Blockchain: menene PoC ya kamata mu gina?

Hyperledger Fabric - blockchain na duniya

Gabaɗaya magana, tsarin bayanan duniya shine:

  • Saitin sabobin da tushen software wanda ke aiwatar da dabarun kasuwanci;
  • Hanyoyin sadarwa don hulɗa tare da tsarin;
  • Kayan aiki don rajista, tantancewa da izini na na'urori/mutane;
  • Adana bayanan aiki da bayanan adana bayanai:

Blockchain: menene PoC ya kamata mu gina?

Za a iya karanta sigar hukuma ta abin da Hyperledger Fabric yake a shafin, kuma a takaice, Hyperledger Fabric wani dandamali ne na budewa wanda ke ba ku damar gina blockchain masu zaman kansu da aiwatar da kwangiloli masu wayo da aka rubuta a cikin harsunan shirye-shiryen JS da Go. Bari mu dubi dalla-dalla na gine-gine na Hyperledger Fabric kuma mu tabbatar da cewa wannan tsari ne na duniya wanda kawai yana da ƙayyadaddun bayanai don adanawa da rikodin bayanai. Ƙayyadaddun bayanai shine cewa bayanan, kamar yadda yake a duk blockchain, ana adana su a cikin tubalan da aka sanya a kan blockchain kawai idan mahalarta sun cimma yarjejeniya kuma bayan yin rikodin bayanan ba za a iya gyarawa ko share su cikin nutsuwa ba.

Gine-ginen Fabric na Hyperledger

Hoton yana nuna gine-ginen masana'anta na Hyperledger:

Blockchain: menene PoC ya kamata mu gina?

Organizations - kungiyoyi sun ƙunshi takwarorinsu, watau. blockchain yana wanzuwa saboda tallafin ƙungiyoyi. Ƙungiyoyi daban-daban na iya zama ɓangare na tashar guda ɗaya.

Channel - tsari mai ma'ana wanda ke haɗa takwarorinsu zuwa ƙungiyoyi, watau. an ƙayyade blockchain. Hyperledger Fabric na iya aiwatar da blockchain da yawa a lokaci guda tare da dabaru na kasuwanci daban-daban.

Mai Ba da Sabis na Membobi (MSP) CA ne (Hukumar Takaddun shaida) don ba da ainihi da ba da ayyuka. Don ƙirƙirar kumburi, kuna buƙatar yin hulɗa tare da MSP.

Nodes na tsara - tabbatar da ma'amaloli, adana blockchain, aiwatar da kwangiloli masu wayo da yin hulɗa tare da aikace-aikace. Takwarorinsu suna da takaddun shaida (takardar dijital), wacce MSP ke bayarwa. Ba kamar hanyar sadarwar Bitcoin ko Etherium ba, inda duk nodes ke da haƙƙin daidai, a cikin Hyperledger Fabric nodes suna taka rawa daban-daban:

  • Abokina watakila yarda da tsara (EP) da aiwatar da kwangiloli masu wayo.
  • Aiwatar da tsara (CP) - kawai adana bayanai a cikin blockchain kuma sabunta "Yanayin Duniya".
  • Anchor Peer (AP) - idan kungiyoyi da yawa sun shiga cikin blockchain, to ana amfani da takwarorinsu na anga don sadarwa a tsakanin su. Dole ne kowace ƙungiya ta sami takwarorinsu ɗaya ko fiye. Yin amfani da AP, kowane ɗan'uwa a cikin ƙungiya zai iya samun bayanai game da duk takwarorinsu a wasu ƙungiyoyi. Ana amfani da su don daidaita bayanai tsakanin APs ka'idar tsegumi.
  • Shugaba Peer - idan kungiya tana da takwarorinsu da yawa, to kawai shugaban takwarorinsu zai karɓi tubalan daga sabis ɗin oda kuma ya ba su ga sauran takwarorinsu. Ana iya tantance jagora ko dai a tsaye ko kuma zaɓaɓɓen takwarorinsu na ƙungiyar. Hakanan ana amfani da ƙa'idar tsegumi don daidaita bayanai game da shugabanni.

Kadarorin - abubuwan da ke da ƙima kuma ana adana su akan blockchain. Musamman ma, wannan mahimman bayanai ne a tsarin JSON. Wannan bayanan ne aka rubuta a cikin Blockchain. Suna da tarihi, wanda aka adana a cikin blockchain, da kuma halin yanzu, wanda aka adana a cikin bayanan "Jihar Duniya". Ana cika tsarin bayanai ba bisa ka'ida ba dangane da ayyukan kasuwanci. Babu filayen da ake buƙata, kawai shawarar ita ce kadarorin dole ne su sami mai shi kuma su kasance masu daraja.

Ledger - ya ƙunshi Blockchain da kuma Word state database, wanda ke adana halin yanzu na dukiya. Ƙasar duniya tana amfani da LevelDB ko CouchDB.

Smart kwangila - ta yin amfani da kwangiloli masu wayo, ana aiwatar da dabarun kasuwanci na tsarin. A cikin Hyperledger Fabric, ana kiran kwangiloli masu wayo da sarƙoƙi. An ƙayyade amfani da lambar sarƙoƙi, kadarori da ma'amaloli akan su. A cikin sharuɗɗan fasaha, kwangiloli masu wayo sune samfuran software da aka aiwatar a cikin harsunan shirye-shiryen JS ko Go.

Manufar amincewa - ga kowane lambar sarƙoƙi, zaku iya saita manufa kan adadin tabbaci na ma'amala ya kamata a sa ran kuma daga wanene. Idan ba a saita manufofin ba, to tsohowar ita ce: "dole ne kowane memba na kowace kungiya a cikin tashoshi ya tabbatar da ciniki." Misalan manufofi:

  • Dole ne duk wani mai gudanarwa na kungiyar ya amince da cinikin;
  • Dole ne kowane memba ko abokin ciniki na ƙungiyar ya tabbatar da shi;
  • Dole ne kowace ƙungiyar takwaro ta tabbatar da ita.

Sabis na oda - fakitin ma'amaloli a cikin tubalan kuma aika su ga takwarorinsu a cikin tashar. Yana ba da garantin isar da saƙon ga duk takwarorinsu akan hanyar sadarwa. Ana amfani da tsarin masana'antu Dillalin sakon Kafka, don haɓakawa da gwaji solo.

Kiran Kira

Blockchain: menene PoC ya kamata mu gina?

  • Aikace-aikacen yana sadarwa tare da Hyperledger Fabric ta amfani da Go, Node.js ko Java SDK;
  • Abokin ciniki ya ƙirƙira ma'amalar tx kuma ya aika da shi zuwa ga abokan hulɗa;
  • Peer yana tabbatar da sa hannun abokin ciniki, ya kammala ciniki, kuma ya aika sa hannun amincewa baya ga abokin ciniki. Ana aiwatar da Chaincode ne kawai akan takwarorinsu masu amincewa, kuma ana aika sakamakon aiwatar da shi ga duk takwarorinsu. Ana kiran wannan algorithm na aikin PBFT (Practical Byzantine Fault Tolerant) yarjejeniya. Ya bambanta da classic BFT gaskiyar cewa an aika saƙon kuma ana sa ran tabbatarwa ba daga dukkan mahalarta ba, amma daga wani saiti kawai;
  • Bayan abokin ciniki ya karbi adadin martanin da ya dace da manufar amincewa, ya aika da ma'amala zuwa sabis na oda;
  • Sabis ɗin oda yana haifar da toshe kuma yana aika shi zuwa ga duk abokan aiki. Sabis na yin oda yana tabbatar da rikodin jerin abubuwan tubalan, wanda ke kawar da abin da ake kira cokali mai yatsa (duba sashin "Forks");
  • Takwarorinsu suna karɓar toshe, sake duba manufofin amincewa, rubuta toshe zuwa blockchain kuma canza jihar a cikin “Duniya jihar” DB.

Wadancan. Wannan yana haifar da rarrabuwar matsayi tsakanin nodes. Wannan yana tabbatar da blockchain yana iya daidaitawa kuma yana da aminci:

  • Kwangiloli masu wayo (chaincode) suna aiwatar da ƙwararrun takwarorinsu. Wannan yana tabbatar da sirrin kwangilar wayo, saboda Ba duk mahalarta ba su adana shi, amma ta hanyar amincewa da takwarorinsu kawai.
  • Yin oda yakamata yayi aiki da sauri. Ana tabbatar da wannan ta gaskiyar cewa Yin oda kawai yana samar da toshe kuma yana aika shi zuwa ƙayyadadden tsarin takwarorinsa na jagora.
  • Ƙarfafa abokan aiki kawai suna adana blockchain - za'a iya samun da yawa daga cikinsu kuma ba sa buƙatar iko mai yawa da aiki nan take.

Ƙarin cikakkun bayanai game da hanyoyin gine-gine na Hyperledger Fabric da kuma dalilin da yasa yake aiki ta wannan hanya kuma ba in ba haka ba za'a iya samuwa a nan: Asalin Architecture ko a nan: Fabric Hyperledger: Tsarin Aiki da Rarraba don Blockchain Izini.

Don haka, Hyperledger Fabric shine ainihin tsarin duniya wanda zaku iya:

  • Aiwatar da dabarun kasuwanci na sabani ta amfani da tsarin kwangila mai wayo;
  • Yi rikodin kuma karɓar bayanai daga bayanan blockchain a cikin tsarin JSON;
  • Bada kuma tabbatar da samun damar API ta amfani da Ikon Takaddun shaida.

Yanzu da muka fahimci kadan game da ƙayyadaddun Fabric na Hyperledger, bari a ƙarshe muyi wani abu mai amfani!

Ƙaddamar da blockchain

Tsara matsalar

Ayyukan shine aiwatar da hanyar sadarwar Citcoin tare da ayyuka masu zuwa: ƙirƙira asusu, samun ma'auni, cika asusun ku, canja wurin tsabar kudi daga asusun ɗaya zuwa wani. Bari mu zana samfurin abu, wanda za mu ƙara aiwatar da shi a cikin kwangilar basira. Don haka, za mu sami asusun da aka gano da sunaye kuma suna ɗauke da ma'auni, da jerin asusun. Asusu da jerin asusu sune, dangane da kadarorin Fabric na Hyperledger. Saboda haka, suna da tarihi da halin yanzu. Zan yi ƙoƙarin zana wannan a fili:

Blockchain: menene PoC ya kamata mu gina?

Manyan alkaluma sune halin da ake ciki yanzu, wanda aka adana a cikin bayanan “Jihar Duniya”. A ƙasa akwai alkaluma da ke nuna tarihin da aka adana a cikin blockchain. Halin halin yanzu na kadarorin yana canzawa ta hanyar ma'amaloli. Kadara ta canza gaba ɗaya kawai, don haka sakamakon ma'amala, an ƙirƙiri sabon abu, kuma darajar kadari na yanzu yana shiga cikin tarihi.

IBM Cloud

Muna ƙirƙirar asusu a ciki IBM girgije. Don amfani da dandalin blockchain, dole ne a haɓaka shi zuwa Pay-As-You-Go. Wannan tsari bazai yi sauri ba, saboda ... IBM yana buƙatar ƙarin bayani kuma yana tabbatar da shi da hannu. A tabbataccen bayanin kula, zan iya cewa IBM yana da kyawawan kayan horarwa waɗanda ke ba ku damar tura Fabric Hyperledger a cikin girgijen su. Ina son jerin labarai da misalai masu zuwa:

Wadannan hotunan kariyar kwamfuta ne na dandalin IBM Blockchain. Wannan ba umarni ba ne kan yadda ake ƙirƙirar blockchain ba, amma kawai nunin iyakar aikin. Don haka, don manufarmu, muna yin Ƙungiya ɗaya:

Blockchain: menene PoC ya kamata mu gina?

Mun ƙirƙiri nodes a cikinsa: Orderer CA, Org1 CA, Abokin Hulɗa:

Blockchain: menene PoC ya kamata mu gina?

Muna ƙirƙirar masu amfani:

Blockchain: menene PoC ya kamata mu gina?

Ƙirƙiri Channel kuma a kira shi citcoin:

Blockchain: menene PoC ya kamata mu gina?

Ainihin Channel shine blockchain, don haka yana farawa da toshe sifili (Tsarin Farawa):

Blockchain: menene PoC ya kamata mu gina?

Rubutun Kwangilar Smart

/*
 * 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;

A hankali, komai ya kamata ya bayyana a nan:

  • Akwai ayyuka da yawa (AddAccount, GetAccounts, SendFrom, GetBalance, RefillBalance) wanda shirin demo zai kira ta amfani da Hyperledger Fabric API.
  • Ayyukan SendFrom da RefillBalance suna haifar da abubuwan da shirin demo zai karɓa.
  • Ana kiran aikin nan take sau ɗaya lokacin da kwangila mai wayo ke nan take. A zahiri, ana kiran shi ba sau ɗaya kawai ba, amma duk lokacin da sigar kwangila mai wayo ta canza. Saboda haka, fara lissafin tare da tsararru maras kyau shine mummunan ra'ayi, saboda Yanzu, lokacin da muka canza sigar kwangilar wayo, za mu rasa lissafin yanzu. Amma ba laifi, koyo nake kawai).
  • Asusu da lissafin asusu sune tsarin bayanan JSON. Ana amfani da JS don sarrafa bayanai.
  • Kuna iya samun ƙimar kadari ta yanzu ta amfani da kiran aikin getState, da sabunta ta ta amfani da putState.
  • Lokacin ƙirƙirar Asusu, ana kiran aikin AddAccount, wanda aka kwatanta da matsakaicin adadin asusun a cikin blockchain (maxAccounts = 5). Kuma a nan akwai jamb (kun lura?), wanda ke haifar da karuwar adadin asusun. Ya kamata a guji irin waɗannan kurakurai)

Bayan haka, muna ɗora kwangilar wayo a cikin Channel kuma mu hanzarta shi:

Blockchain: menene PoC ya kamata mu gina?

Bari mu kalli ma'amala don shigar da Smart Contract:

Blockchain: menene PoC ya kamata mu gina?

Ga cikakken bayani akan Channel namu:

Blockchain: menene PoC ya kamata mu gina?

Sakamakon haka, muna samun zane mai zuwa na cibiyar sadarwar blockchain a cikin girgijen IBM. Hakanan zane yana nuna shirin demo yana gudana a cikin girgijen Amazon akan sabar kama-da-wane (ƙari game da shi a sashe na gaba):

Blockchain: menene PoC ya kamata mu gina?

Ƙirƙirar GUI don kiran Hyperledger Fabric API

Hyperledger Fabric yana da API wanda za'a iya amfani dashi don:

  • Ƙirƙirar tashar;
  • Haɗin haɗin kai ga tashar;
  • Shigarwa da ƙaddamar da kwangilar wayo a cikin tashar;
  • Kasuwancin kira;
  • Nemi bayani akan blockchain.

Ci gaban aikace-aikacen

A cikin shirin demo za mu yi amfani da API kawai don kiran ma'amaloli da neman bayanai, saboda Mun riga mun kammala sauran matakan ta amfani da dandalin IBM blockchain. Muna rubuta GUI ta amfani da daidaitaccen tarin fasaha: Express.js + Vue.js + Node.js. Kuna iya rubuta labarin daban kan yadda ake fara ƙirƙirar aikace-aikacen gidan yanar gizo na zamani. Anan zan bar hanyar haɗi zuwa jerin laccoci waɗanda na fi so: Cikakken Tarin Yanar Gizo App ta amfani da Vue.js & Express.js. Sakamakon shine aikace-aikacen uwar garken abokin ciniki tare da sanannen ƙirar hoto a cikin Salon Zane na Google. API ɗin REST tsakanin abokin ciniki da uwar garken ya ƙunshi kira da yawa:

  • HyperledgerDemo/v1/init - fara blockchain;
  • HyperledgerDemo/v1/asusu/jeri - sami jerin duk asusun;
  • HyperledgerDemo/v1/account?name=Bob&balance=100 — ƙirƙirar asusun Bob;
  • HyperledgerDemo/v1/info?account=Bob — sami bayanai game da asusun Bob;
  • HyperledgerDemo/v1/ma'amala?daga=Bob&to=Alice&volume=2 - canja wurin tsabar kudi guda biyu daga Bob zuwa Alice;
  • HyperledgerDemo/v1/disconnect - rufe haɗin zuwa blockchain.

Bayanin API tare da misalan da aka haɗa a ciki Gidan gidan yanar gizo - sanannen shiri don gwada HTTP API.

Aikace-aikacen Demo a cikin girgijen Amazon

Na loda aikace-aikacen zuwa Amazon saboda ... IBM har yanzu bai sami damar haɓaka asusuna ba kuma ya ba ni damar ƙirƙirar sabar mai kama-da-wane. Yadda ake ƙara ceri zuwa yankin: www.citcoin.info. Zan ci gaba da kunna uwar garken na wani lokaci, sannan in kashe shi, saboda... cents na haya suna digowa, kuma tsabar tsabar citcoin ba a jera su ba tukuna a kan musayar hannun jari) Ina haɗa da hotunan kariyar kwamfuta a cikin labarin don fahimtar aikin ya bayyana. Aikace-aikacen demo na iya:

  • Fara blockchain;
  • Ƙirƙiri Asusun (amma yanzu ba za ku iya ƙirƙirar sabon Asusu ba, saboda an kai matsakaicin adadin asusun da aka ƙayyade a cikin kwangilar wayo a cikin blockchain);
  • Karɓi lissafin Lissafi;
  • Canja wurin tsabar kudi na citcoin tsakanin Alice, Bob da Alex;
  • Karɓi abubuwan da suka faru (amma yanzu babu wata hanya ta nuna abubuwan da suka faru, don haka don sauƙi, mai dubawa ya ce ba a tallafawa abubuwan da suka faru);
  • Ayyukan log.

Da farko mun fara blockchain:

Blockchain: menene PoC ya kamata mu gina?

Na gaba, mun ƙirƙiri asusun mu, kada ku ɓata lokaci tare da ma'auni:

Blockchain: menene PoC ya kamata mu gina?

Muna samun jerin duk da akwai asusu:

Blockchain: menene PoC ya kamata mu gina?

Muna zaɓar mai aikawa da mai karɓa, kuma muna samun ma'auni. Idan mai aikawa da mai karɓa ɗaya ne, to za a cika asusunsa:

Blockchain: menene PoC ya kamata mu gina?

A cikin log ɗin muna sa ido kan yadda ake aiwatar da ma'amaloli:

Blockchain: menene PoC ya kamata mu gina?

A gaskiya, wannan ke nan tare da shirin demo. A ƙasa zaku iya ganin kasuwancin mu a cikin blockchain:

Blockchain: menene PoC ya kamata mu gina?

Kuma jimillar ma'amaloli:

Blockchain: menene PoC ya kamata mu gina?

Tare da wannan, mun sami nasarar kammala aiwatar da PoC don ƙirƙirar cibiyar sadarwar Citcoin. Menene kuma ya kamata a yi don Citcoin ya zama cikakkiyar hanyar sadarwa don canja wurin tsabar kudi? Kadan sosai:

  • A matakin ƙirƙirar asusun, aiwatar da ƙirƙirar maɓalli na sirri / jama'a. Dole ne a adana maɓalli na sirri tare da mai amfani da asusun, maɓallin jama'a dole ne a adana shi a cikin blockchain.
  • Yi hanyar canja wurin tsabar kudin da ake amfani da maɓallin jama'a, maimakon suna, don gano mai amfani.
  • Rufe ma'amalar da ke gudana daga mai amfani zuwa uwar garken tare da maɓallin keɓaɓɓen sa.

ƙarshe

Mun aiwatar da hanyar sadarwar Citcoin tare da ayyuka masu zuwa: ƙara asusu, samun ma'auni, cika asusun ku, canja wurin tsabar kudi daga asusun ɗaya zuwa wani. Don haka, menene ya kashe mu don gina PoC?

  • Kuna buƙatar yin nazarin blockchain gabaɗaya da Hyperledger Fabric musamman;
  • Koyi don amfani da IBM ko girgijen Amazon;
  • Koyi harshen shirye-shirye na JS da wasu tsarin yanar gizo;
  • Idan wasu bayanan suna buƙatar adana ba a cikin blockchain ba, amma a cikin bayanan daban, to, ku koyi haɗawa, misali, tare da PostgreSQL;
  • Kuma ƙarshe amma ba kalla ba - ba za ku iya rayuwa a duniyar zamani ba tare da sanin Linux ba!)

Tabbas, ba kimiyyar roka ba ce, amma dole ne ku yi aiki tuƙuru!

Sources akan GitHub

Sources saka GitHub. Takaitaccen bayanin ma'ajiyar:
Katalogi"uwar garken» - uwar garken Node.js
Katalogi"abokin ciniki» - Node.js abokin ciniki
Katalogi"blockchain"(Dabi'u da maɓallai, ba shakka, ba sa aiki kuma ana ba su kawai a matsayin misali):

  • kwangila - smart kwangila tushen code
  • walat - maɓallan mai amfani don amfani da Hyperledger Fabric API.
  • *.cds - harhada nau'ikan kwangiloli masu wayo
  • *.json fayiloli - misalan fayilolin sanyi don amfani da Hyperledger Fabric API

Mafari ne kawai!

source: www.habr.com

Add a comment