Рад, что работал на вас.

отал над примером Fabcar, и он отлично работает, когда никаких изменений не произошло. Я пытаюсь обновить код fabcar.go, чтобы добавить больше полей и просто поиграться с примером, однако мои образы докеров не обновляются с правильным кодом.

Чтобы установить код цепочки, эта команда запускается на контейнере cli:

docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode install -n fabcar -v 1.0 -p github.com/fabcar

Контейнер cli установил этот объем:

./../chaincode/:/opt/gopath/src/github.com/

однако после обновления кода / go (я фактически изменил его с Car на объект Ticket с совершенно новыми полями и обновил все соответствующие команды цепочки для отражения),срывать, а затем запустить снова, я все еще вижу все старые поля.

Что мне здесь не хватает?

Вот фрагмент кода, который меняется на тикеты в функции «Вызов»

func (s *SmartContract) Invoke(APIstub shim.ChaincodeStubInterface) sc.Response {

    // Retrieve the requested Smart Contract function and arguments
    function, args := APIstub.GetFunctionAndParameters()
    // Route to the appropriate handler function to interact with the ledger appropriately
    if function == "queryTicket" {
        return s.queryTicket(APIstub, args)
    } else if function == "initLedger" {
        return s.initLedger(APIstub)
    } else if function == "createTicket" {
        return s.createTicket(APIstub, args)
    } else if function == "queryAllTickets" {
        return s.queryAllTickets(APIstub)
    } else if function == "sellTicket" {
        return s.sellTicket(APIstub, args)
    }

    return shim.Error("Invalid Smart Contract function name.")
}

Но при этом я просто получаю сообщение «Неверное имя функции Smart Contract». при звонке со следующим:

const request = {
    chaincodeId: options.chaincode_id,
    txId: transaction_id,
    fcn: 'queryAllTickets',
    args: ['']
};