// GetCurrentStateHash returns the current/temporary state hash func (h *Helper) GetCurrentStateHash() (stateHash []byte, err error) { ledger, err := ledger.GetLedger() if err != nil { return nil, fmt.Errorf("Failed to get the ledger :%v", err) } return ledger.GetTempStateHash() }
//ExecuteTransactions - will execute transactions on the array one by one //will return an array of errors one for each transaction. If the execution //succeeded, array element will be nil. returns state hash func ExecuteTransactions(ctxt context.Context, cname ChainName, xacts []*pb.Transaction) ([]byte, []error) { var chain = GetChain(cname) if chain == nil { // TODO: We should never get here, but otherwise a good reminder to better handle panic(fmt.Sprintf("[ExecuteTransactions]Chain %s not found\n", cname)) } errs := make([]error, len(xacts)+1) for i, t := range xacts { _, errs[i] = Execute(ctxt, chain, t) } ledger, hasherr := ledger.GetLedger() var statehash []byte if hasherr == nil { statehash, hasherr = ledger.GetTempStateHash() } errs[len(errs)-1] = hasherr return statehash, errs }