Я пытаюсь настроить Idemix на основе следующей найденной документации:
Но при вызове транзакции я получил ошибкуниже:
$ docker exec -e "CORE_PEER_LOCALMSPTYPE=idemix" -e "CORE_PEER_LOCALMSPID=Org1IdemixMSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/User1@org1.example.com" cli peer chaincode query -C channel1 -n chaincode1 -c '{"Args":["query","a"]}'
Error: error getting default signer: error obtaining the default signing identity: no default signer setup
Шаги, которые я предпринял:
- Зарегистрируйте пользователя
User1@org1.example.com
на ткань CA fabric-ca-client register --id.name User1@org1.example.com --id.secret mysecret --id.type client --id.affiliation org1 --id.attrs role=2 -u http://localhost:7054
- Зарегистрируйте пользователя и создайте idemixличность
fabric-ca-client enroll --enrollment.type idemix -u http://User1@org1.example.com:mysecret@localhost:7054
- Переименовать
$USER1_DIR/msp/IssuerRevocationPublicKey
в $USER1_DIR/msp/RevocationPublicKey
.Во время вызова транзакции ожидается имя RevocationPublicKey
, а не IssuerRevocationPublicKey
- Подготовьте idemix msp.Я скопировал
IssuerPublicKey
и IssuerRevocationPublicKey
CA в папку msp
.Мне нужно переименовать IssuerRevocationPublicKey
в RevocationPublicKey
иначе configtxgen
будет жаловаться В configtx.yaml
, добавить Idemix MSP
- &Org1Idemix
Name: Org1IdemixMSP
# ID to load the MSP definition as
ID: Org1IdemixMSP
msptype: idemix
MSPDir: crypto-config/peerOrganizations/org1idemix.example.com/
Policies: &Org1IdemixMSPPolicies
Readers:
Type: Signature
Rule: "OR('Org1IdemixMSP.member')"
Writers:
Type: Signature
Rule: "OR('Org1IdemixMSP.member')"
Admins:
Type: Signature
Rule: "OR('Org1IdemixMSP.admin')"
- Создать блок генеза, блокировка канала, запуск сети и т. д. 2 (как обычно)
- Попробуйте выполнить запрос транзакции, и появится вышеупомянутая ошибка
Я выполнил некоторые действия по устранению неполадок и, основываясь на документации idemixgen
, обнаружилчто мне нужно поставить подписавшего по умолчанию в idemix msp, т.е. в папке user
.Поэтому я поместил файл User1@org1.example.com
SignerConfig
в папку user
и снова запустил configtxgen
.Я получил следующую ошибку:
Error loading MSP configuration for org: Org1IdemixMSP: unexpected EOF
Затем я сделал несколько сравнений с SignerConfig
, сгенерированным idemixgen
и SignerConfig
из User1@org1.example.com
.Сгенерированный idemixgen
файл не может быть открыт, в то время как другой - файл .json (показан ниже), поэтому формат другой.Запуск configtxgen
Использование SignerConfig, сгенерированного idemixgen
, прошло успешно.Я хочу попытаться вызвать транзакции с помощью идентификаторов, сгенерированных idemixgen
, но нет способа сгенерировать идентификатор, кроме подписавшего по умолчанию.
{
"Cred": "CkQKIK/7Slvg7laNMv8n7urCKpRN4gTZJZ7xQUyqPQ0GskWFEiCq/aRBmXlQAnSeJLXViGEHLRoztSCoHU6PDXaft+STexJECiB1dosl0QwT5dR/iNwfj0UvWZLph5U6fTMUVjYXE3W/UhIg6U+q6S9xMZhL7SHYe/v//Vhsw7X7N+93Ha4qQiWu0OIaIKcFZamTWwD5VQppZDEdxv5nr4DZAOn/S0r3gchLFG66IiD7kc8IZFRji8ub7yS5ueK8ZcLm5o+WR9a7wAx7o6fKQCogieDBP6ZS9S2R/JDVaLcAcNbtGlnF2fRS37GyoZmxko4qIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKiArm8Pnrt+hrBAk1PD9trARpE6XVbdfXN+27uSe9r8uxCogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=",
"Sk": "LwrgRX48aewbqKWrvNjo5VFfNSDIJAvdaR4brzOsnWM=",
"organizational_unit_identifier": "org1",
"enrollment_id": "User1@org1.example.com",
"credential_revocation_information": "CAESiAEKIP4MM1C0yWwgKFYPV3wokTrOHFOaEr+EPNImFraJwJ77EiBOpmBXc4rAVNta4cY32BO5JN144ofQNYnSae00o35qKxogcCBG58VCo7N2dw11Ek4+Ue/LJHWNYVhI6Qm0gb7cJ/8iIAVU47zTiMKQQu6mSSl+sp+LTL6AghqYs+ASgRFKrQSbGmgwZgIxAJRyRpR+k3SaAVRm4GM3l+zBU6V/7g73C9RQIU9kPef9XqVl0Gb+hQqrgd1HsTQ5GgIxANb6XNB+CrrQgwbt6msa0SG+aQKpSl48EeP/V7beUkshNubudBS+WjS+PRbf5aW0Nw=="
}
Репо здесь: https://github.com/aldredb/idemix-sample