Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SerializeTransaction ¶
func SerializeTransaction(tx Transaction) ([]byte, error)
Types ¶
type AddFileTransaction ¶
type AddFileTransaction struct { AnnouncementID uuid.UUID `json:"announcementID"` // Announcement ID - UUID OwnerAddress []byte `json:"ownerAddress"` // Owner address - ECDSA public key IPFSClientNodeAddrInfo peer.AddrInfo `json:"ipfsClientNodeAddrInfo"` // IPFS client node address info FileCid cid.Cid `json:"fileCid"` // File CID Filename []byte `json:"filename"` // Encrypted filename Extension []byte `json:"extension"` // Encrypted extension FileSize uint64 `json:"fileSize"` // File size Checksum []byte `json:"checksum"` // Checksum - SHA256 OwnerSignature []byte `json:"ownerSignature"` // Owner signature - ECDSA signature AnnouncementTimestamp int64 `json:"announcementTimestamp"` // Announcement timestamp - Unix timestamp NodeAddress []byte `json:"nodeAddress"` // Node address - ECDSA public key NodeID peer.ID `json:"nodeID"` // Node ID IPFSStorageNodeAddrInfo peer.AddrInfo `json:"ipfsStorageNodeAddrInfo"` // IPFS storage node address info TransactionID uuid.UUID `json:"transactionID"` // Transaction ID - UUID UserReliabilityIssue bool `json:"userReliabilityIssue"` // User reliability issue - boolean TransactionSignature []byte `json:"transactionSignature"` // Transaction signature - ECDSA signature TransactionTimestamp int64 `json:"transactionTimestamp"` // Transaction timestamp - Unix timestamp Verifier // embed TransactionVerifier struct to inherit VerifyTransaction method }
func DeserializeAddFileTransaction ¶
func DeserializeAddFileTransaction(data []byte) (*AddFileTransaction, error)
func GenFakeAddTransaction ¶
func GenFakeAddTransaction() (*AddFileTransaction, error)
func NewAddFileTransaction ¶
func NewAddFileTransaction(announcement *ClientAnnouncement, fileCid cid.Cid, userReliabilityIssue bool, keyPair ecdsa.KeyPair, nodeID peer.ID, storageNodeAddrInfo peer.AddrInfo) *AddFileTransaction
func (*AddFileTransaction) Serialize ¶
func (t *AddFileTransaction) Serialize() ([]byte, error)
func (*AddFileTransaction) SpecificData ¶
func (t *AddFileTransaction) SpecificData() ([]byte, error)
Override SpecificData for AddFileTransaction
type ClientAnnouncement ¶
type ClientAnnouncement struct { AnnouncementID uuid.UUID `json:"announcementID"` // Announcement ID - UUID OwnerAddress []byte `json:"ownerAddress"` // Owner address - ECDSA public key IPFSClientNodeAddrInfo peer.AddrInfo `json:"ipfsClientNodeAddrInfo"` // IPFS client node address info FileCid cid.Cid `json:"fileCid"` // File CID Filename []byte `json:"filename"` // Encrypted filename Extension []byte `json:"extension"` // Encrypted extension FileSize uint64 `json:"fileSize"` // File size Checksum []byte `json:"checksum"` // Checksum - SHA256 OwnerSignature []byte `json:"ownerSignature"` // Owner signature - ECDSA signature AnnouncementTimestamp int64 `json:"announcementTimestamp"` // Announcement timestamp - Unix timestamp Verifier // embed TransactionVerifier struct to inherit VerifyTransaction method }
func DeserializeClientAnnouncement ¶
func DeserializeClientAnnouncement(data []byte) (*ClientAnnouncement, error)
func NewClientAnnouncement ¶
func (*ClientAnnouncement) Serialize ¶
func (a *ClientAnnouncement) Serialize() ([]byte, error)
func (*ClientAnnouncement) SpecificData ¶
func (a *ClientAnnouncement) SpecificData() ([]byte, error)
Override SpecificData for ClientAnnouncement
type ClientAnnouncementFactory ¶
type ClientAnnouncementFactory struct{}
ClientAnnouncementFactory implements the TransactionFactory interface
func (*ClientAnnouncementFactory) CreateTransaction ¶
func (f *ClientAnnouncementFactory) CreateTransaction(data []byte) (Transaction, error)
type DeleteFileTransaction ¶
type DeleteFileTransaction struct { TransactionID uuid.UUID `json:"transactionID"` // Transaction ID - UUID OwnerAddress []byte `json:"ownerAddress"` // Owner address - ECDSA public key FileCid cid.Cid `json:"fileCID"` // File CID TransactionSignature []byte `json:"transactionSignature"` // Transaction signature - ECDSA signature TransactionTimestamp int64 `json:"transactionTimestamp"` // Transaction timestamp - Unix timestamp Verifier // embed TransactionVerifier struct to inherit VerifyTransaction method }
func DeserializeDeleteFileTransaction ¶
func DeserializeDeleteFileTransaction(data []byte) (*DeleteFileTransaction, error)
func GenFakeDeleteTransaction ¶
func GenFakeDeleteTransaction() (*DeleteFileTransaction, error)
func NewDeleteFileTransaction ¶
func NewDeleteFileTransaction(keyPair ecdsa.KeyPair, fileCid cid.Cid) *DeleteFileTransaction
func (*DeleteFileTransaction) Serialize ¶
func (t *DeleteFileTransaction) Serialize() ([]byte, error)
func (*DeleteFileTransaction) SpecificData ¶
func (t *DeleteFileTransaction) SpecificData() ([]byte, error)
Override SpecificData for DeleteFileTransaction
type Transaction ¶
func DeserializeTransaction ¶
func DeserializeTransaction(data []byte) (Transaction, error)
type TransactionWrapper ¶
type TransactionWrapper struct { Type string `json:"type"` Data json.RawMessage `json:"data"` }
type Verifier ¶
type Verifier struct{}
TransactionVerifier is the base struct for verifying transactions
func (*Verifier) SpecificData ¶
SpecificData method should be overridden by each specific transaction type
func (*Verifier) VerifyTransaction ¶
func (t *Verifier) VerifyTransaction(tx Transaction, signature []byte, publicKey []byte) bool
Click to show internal directories.
Click to hide internal directories.