Ниже приведен фрагмент кода цепи, в котором я создал структуру клиента, которая сохраняет основную информацию. Я хочу написать функцию обновления, которая сначала извлекает детали клиента с UID (args [0]), а затем добавляет/обновляет страну в соответствии со вторым утверждением обновления функции и, наконец, сохраняет обновленные данные. Что я делаю неправильно? Также я хотел бы знать концепцию Маршала и Унмаршала.Как обновить данные структуры и сохранить ее в цепочном коде?
type Customer struct {
UID string
Name string
Address struct {
StreetNo string
Country string
}
}
func (t *SimpleChaincode) update(stub shim.ChaincodeStubInterface, args []string) ([]byte, error) {
if len(args) != 2 {
return nil, errors.New("Incorrect number of arguments. Expecting name of the key to query")
}
//args[0] to get the UID of customer whose details to be updated
//args[1] data that needs to be updated
data,err:= stub.GetState(ars[0])
if err != nil {
return nil, err
}
json.Unmarshal(data, &uid)
//append
data.Country= append(data.Country,args[1])
fmt.Printf("Risk Fag set for UID %s",data)
raw, err := json.Marshal(data)
if err != nil {
return nil, err
}
stub.PutState(data.UID, raw)
return nil,nil
}