Hyperledger Fabric alterando exemplo fabcar
Eu tenho trabalhado no exemplo da fabcar e o está executando perfeitamente quando nenhuma alteração aconteceu. O que estou tentando fazer é atualizar o código fabcar.go para adicionar mais campos e simplesmente brincar com o exemplo, no entanto, minhas imagens do docker não estão atualizando com o código correto.
Para instalar o chaincode, este comando é executado no contêiner 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/[email protected]/msp" cli peer chaincode install -n fabcar -v 1.0 -p github.com/fabcar
O contêiner cli configurou este volume:
./../chaincode/:/opt/gopath/src/github.com/
no entanto, após as atualizações code / go (na verdade, eu o alterei de Car para um objeto Ticket com campos totalmente novos e atualizei todos os comandos relevantes da cadeia para refletir),destruir, em seguida, reinicie. Ainda estou vendo todos os campos antigos.
O que estou perdendo aqui?
Aqui está um trecho do código que muda para tickets na função "Invoke"
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.")
}
Mas, ao fazer isso, simplesmente recebo a mensagem "Nome da função do contrato inteligente inválido". ao ligar com o seguinte:
const request = {
chaincodeId: options.chaincode_id,
txId: transaction_id,
fcn: 'queryAllTickets',
args: ['']
};