func()

in chaincode/src/bank/accounts.go [33:58]


func (s *BankChaincode) createAccount(stub shim.ChaincodeStubInterface, args []string) sc.Response {
	if len(args) != 4 {
		return shim.Error("Incorrect arguments, expecting customer name, account number, balance and, currency")
	}

	balance, decimalError := decimal.NewFromString(args[2])

	if decimalError != nil {
		return shim.Error("Unable to parse account balance")
	}

	account := account{Name: args[0], AccNumber: args[1], Balance: balance, Currency: args[3]}

	//serialize account
	accountBytes, _ := json.Marshal(account)

	//Add account to ledger
	putStateErr := stub.PutState(args[1], accountBytes)

	if putStateErr != nil {
		return shim.Error("Failed to create bank")
	}

	return shim.Success(nil)

}