Changeset 19 for trunk/standards

Show
Ignore:
Timestamp:
12/15/07 20:31:45 (4 years ago)
Author:
ocmathew
Message:

Add protocol-details.txt, giving definations of primitives, functions, and containers allowing a human-readable format which can be encoded and giving single-line functions.
Update protocol.txt and protocol-containers.txt to use the new functions and formats
Update protocol-containers.txt to allow RepeatableExtraNames?
Fix spelling mistakes and extra accidental characters from messages/

Location:
trunk/standards
Files:
1 added
6 modified

Legend:

Unmodified
Added
Removed
  • trunk/standards/TODO

    r16 r19  
    2525Refine protocol to prevent issuers from having to store payment 
    2626        Done. Need to add handshake to decide if the mint will store value  
    27 Add default transaction_id handling 
     27Add default transaction_id handling (Both parties agreeing to a transaction_id) 
    2828Does transaction_id need to expire if it isn't seen for a few hours/days? (since it's a two-party agreement....) 
    2929Add hello/versioning/protocol handshaking 
  • trunk/standards/messages/DSDB.to.wallet.txt

    r18 r19  
    2424        Follow: Goodbye 
    2525 
    26   LOCK_COINS_FAILURE    #hex_sting(transaction_id) #hex_string(number_of_failures) 
     26  LOCK_COINS_FAILURE    #hex_string(transaction_id) #hex_string(number_of_failures) 
    2727                                                #key_identifier1 #encrypted_serial1 "Reason 1" 
    2828                                                #key_identifier2 #encrypted_serial2 "Reason 2" 
  • trunk/standards/messages/IS.to.wallet.txt

    r18 r19  
    2020                        MINTING_KEY_FAILURE 
    2121                         
    22   MINTING_KEY_FETCH_KEYID       #hexstring(key_id)} 
     22  MINTING_KEY_FETCH_KEYID       #hexstring(key_id) 
    2323        Prior:  Hello 
    2424        Follow: MINTING_KEY_PASS 
  • trunk/standards/messages/all.txt

    r18 r19  
    146146                        MINTING_KEY_FAILURE 
    147147                         
    148   MINTING_KEY_FETCH_KEYID       #hexstring(key_id)} 
     148  MINTING_KEY_FETCH_KEYID       #hexstring(key_id) 
    149149        Prior:  Hello 
    150150        Follow: MINTING_KEY_PASS 
     
    309309        Follow: Goodbye 
    310310 
    311   LOCK_COINS_FAILURE    #hex_sting(transaction_id) #hex_string(number_of_failures) 
     311  LOCK_COINS_FAILURE    #hex_string(transaction_id) #hex_string(number_of_failures) 
    312312                                                #key_identifier1 #encrypted_serial1 "Reason 1" 
    313313                                                #key_identifier2 #encrypted_serial2 "Reason 2" 
  • trunk/standards/protocol-containers.txt

    r17 r19  
    1414        ExtraName1 = Value4 
    1515        ExtraName2 = Value5 
     16         
     17        RepeatableExtraName1 = Value6 
     18        RepeatableExtraname2 = Value7 
    1619} 
    1720 
    1821ContentNames and ExtraNames are always seperated by a blank line. 
     22ExtraNames and RepeatableExtraNames are always seperated by a blank line. 
    1923ContentNames are required to be in all formats. ExtraNames are optional. 
     24RepeatableExtraNames are optional. 
     25 
     26If RepeatableExtraNames are used and no ExtraNames are used, the spacing between 
     27the ContentNames and the RepeatableExtraNames shall be blankline, period, blankline. 
    2028 
    2129When refering to a part of a structure, Name1.ContentName1 refers to the 
     
    2533A special identifier, ContentPart is the combination of all ContentNames. 
    2634 
    27 TODO: Maybe add extra layers of ExtraNames? DSDB key seems to use them right now... 
     35The identifier names in ContentNames, ExtraNames, and RepeatableExtraNames cannot 
     36be the same as any other identifier. 
    2837 
    2938--------------------------------------------------- 
     
    4756        issuer                                          = hash(pM) 
    4857        signature                                       = base64(sig(sM,hash(content part))) 
     58 
     59        signer                                          = Hash(pM) 
     60        ad_signature                            = base64(sig(sM, hash(content part))) 
    4961} 
    5062 
     
    7688 
    7789        signer                          = Hash(pM) 
    78         signature                       = base64(sig(sM, hash(content part))) 
     90        ad_signature            = base64(sig(sM, hash(content part))) 
    7991} 
    8092 
  • trunk/standards/protocol.txt

    r14 r19  
    1515     short currency identifier    = OC  
    1616     issuer service location      = opencoin://issuer.opencent.net:8002 
    17      denominations                = 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000  #list of strings seperated by commas 
     17     denominations                = strlist(1, 2, 5, 10, 20, 50, 100, 200, 500, 1000)  #list of strings seperated by commas 
    1818     issuer cipher suite          = HASH-ALG, SIGN-ALG, BLINDING-ALG 
    1919     issuer public master key     = base64(pM) 
     
    211211      BLANK_REJECT( list( (encrypted_serial_blank1, "Reason1"), ... ) ) 
    212212      BLANK_REJECT( emptylist, "Reason") 
    213  
    214   (Todo: Add reasons) 
    215213 
    216214if DSDB is required (normal case):