2016-07-19 227 views
8

Sto lavorando a un proof of concept per blockchain. Sto usando la rete bluemix per blockchain e distribuendo la mia applicazione, che sviluppo localmente. Voglio testare le funzionalità di CA e voglio aggiungere utenti con attributi allo membersrvs.yaml ed eseguire il controllo di accesso basato sugli attributi. Tuttavia, non sono in grado di scoprire come posso modificare/aggiornare il file mentre la mia rete è ospitata su bluemix. Perdonami se questo sembra molto semplice, sto ancora imparando le cose.Aggiunta di attributi a IBM Bluemix Blockchain CA (membersrvc.yaml)

+0

ho cercato tutto il giorno solo per fare un account su bluemix, sembra essere broken- è così? –

+1

sì, è stato dalla scorsa settimana. Hanno avuto un grande rilascio all'inizio di questo mese. – tortuga

+0

È solo un file che non puoi modificare, o ci sono un sacco di file che non puoi modificare? O è che quando si modifica il file, le modifiche non hanno effettivamente effetto sulla catena? –

risposta

-3

È possibile registrare un nuovo utente utilizzando l'API Rest o semplicemente andare al cruscotto IBM bluemix e alla scheda API goto. Espandi Registrar sotto "IBM Blockchain API" e di nuovo espandi "POST/registrar" sotto Registrar. Dopo di dare EnrollID e iscrivitiSecret nel seguente formato JSON.

{ 
    "enrollId": "string", 
    "enrollSecret": "string" 
} 

e pubblicare i dati. Si otterrà la risposta come segue: -

{ 
    "OK": "string", 
    "message": "string" 
} 
+0

ankit, questo non aggiunge nuovi utenti. Con il registrar, ti stai solo registrando in uno dei VP per eseguire le trascrizioni su chaincode. Il enrollID e enrollSecret sono presi dal file mycreds.json che si prende dalla dashboard bluemix. La mia domanda è, come possiamo modificare il file delle credenziali. – tortuga

+0

tortuga, scusa per il mio errore. Hai controllato la demo di carta commerciale? [Link] (https://github.com/IBM-Blockchain/cp-web/). Checkout registerUser method in 'utils/users.js'. Utilizza l'interfaccia loopback-connector-obcca per registrare l'utente. Dopo aver registrato l'utente contro la CA, è necessario registrare tale utente nei confronti dei colleghi come sopra menzionato o è possibile anche registrare gli utenti del registro citando enrollid e enrollSecret in mycreds.json –

2

Non puoi modificare/personalizzare membersrvs.yaml che risiede nella Blockchain Servizio bluemix.

Tuttavia, è possibile aggiungere utenti tramite un'API. Questo non è esposto tramite l'interfaccia REST, dovrai usare gRPC (tramite lo HFC SDK). C'è un esempio nella linea demo "cp-web" 76 (anche al di sotto)

/** 
* Registers a new user in the membership service for the blockchain network. 
* @param enrollID The name of the user we want to register. 
* @param cb A callback of the form: function(error, user_credentials) 
*/ 
module.exports.registerUser = function (enrollID, cb) { 
    console.log(TAG, 'registerUser() called'); 

    if (!chain) { 
     cb(new Error('Cannot register a user before setup() is called.')); 
     return; 
    } 

    chain.getMember(enrollID, function (err, usr) { 
     if (!usr.isRegistered()) { 
      console.log(TAG, 'Sending registration request for:', enrollID); 
      var registrationRequest = { 
       enrollmentID: enrollID, 
       affiliation: 'group1' 
      }; 
      usr.register(registrationRequest, function (err, enrollSecret) { 
       if (err) { 
        cb(err); 
       } else { 
        var cred = { 
         id: enrollID, 
         secret: enrollSecret 
        }; 
        console.log(TAG, 'Registration request completed >successfully!'); 
        cb(null, cred); 
       } 
      }); 
     } else { 
      cb(new Error('Cannot register an existing user')); 
     } 
    }); 
}; 
+0

E c'è un modo per aggiungere affiliazioni? – arodriguezdonaire