| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | package databaseimport (	"encoding/json"	"strings")// SetPeers - sets peers for a networkfunc SetPeers(newPeers map[string]string, networkName string) bool {	areEqual := PeersAreEqual(newPeers, networkName)	if !areEqual {		jsonData, err := json.Marshal(newPeers)		if err != nil {			return false		}		InsertPeer(networkName, string(jsonData))		return true	}	return !areEqual}// GetPeers - gets peers for a given networkfunc GetPeers(networkName string) (map[string]string, error) {	record, err := FetchRecord(PEERS_TABLE_NAME, networkName)	if err != nil && !IsEmptyRecord(err) {		return nil, err	}	currentDataMap := make(map[string]string)	if IsEmptyRecord(err) {		return currentDataMap, nil	}	err = json.Unmarshal([]byte(record), ¤tDataMap)	return currentDataMap, err}// PeersAreEqual - checks if peers are the samefunc PeersAreEqual(toCompare map[string]string, networkName string) bool {	currentDataMap, err := GetPeers(networkName)	if err != nil {		return false	}	if len(currentDataMap) != len(toCompare) {		return false	}	for k := range currentDataMap {		if toCompare[k] != currentDataMap[k] {			return false		}	}	return true}// IsEmptyRecord - checks for if it's an empty record error or notfunc IsEmptyRecord(err error) bool {	if err == nil {		return false	}	return strings.Contains(err.Error(), NO_RECORD) || strings.Contains(err.Error(), NO_RECORDS)}
 |