github.com/0chain/gosdk@v1.17.11/docs/uml/commit.puml (about)

     1  @startuml
     2  participant "<size:20><&terminal></size> ./zbox commit" as cli
     3  collections gosdk
     4  collections blobber
     5  collections miner
     6  collections sharder
     7  
     8  cli -> gosdk: GetAllocation(allocationID)
     9  cli -> gosdk: GetFileStats(remotepath)
    10  
    11  alt not empty file stats
    12  cli -> gosdk: CommitMetaTransaction()
    13  gosdk -> gosdk: check initialized allocation
    14  
    15  alt empty file meta
    16  alt not empty remote path 
    17  gosdk -> blobber: get file meta
    18  else not empty auth ticket
    19  gosdk -> blobber: get file meta with auth ticket
    20  end
    21  end
    22  
    23  gosdk -> gosdk: create commit meta request
    24  gosdk -> gosdk: create new transaction entity
    25  gosdk -> gosdk: compute hash and sign
    26  gosdk -> miner: send transaction
    27  
    28  group for each txn query
    29  gosdk -> sharder: verify transaction
    30  end
    31  
    32  gosdk -> gosdk: create commit meta response
    33  gosdk -> gosdk: commit meta completed
    34  
    35  else 
    36  cli -> gosdk: CommitFolderChange()
    37  gosdk -> gosdk: check initialized allocation
    38  gosdk -> gosdk: create commit folder data
    39  gosdk -> gosdk: create new transaction entity
    40  gosdk -> gosdk: compute hash and sign
    41  gosdk -> miner: send transaction
    42  
    43  group for each txn query
    44  gosdk -> sharder: verify transaction
    45  end
    46  
    47  gosdk -> gosdk: create commit folder response
    48  gosdk -> cli: return commit folder response
    49  end
    50  @enduml