Fabric 交易数据结构

本文详细解析了一个具体的区块链交易案例,包括交易的结构、签名验证流程、智能合约执行过程及数据写入等关键环节,旨在帮助读者理解区块链的实际运作机制。
{
    header: {
        number: {
            low: 462, 
            high: 0, 
            unsigned: true
        }, 
        previous_hash: "a499b9c90cc8f4dfea0d4fcfbfaad7b57ea66a61afc58d2d10d98002e4120025", 
        data_hash: "a1bb6a0b0d48fc57f8d25804b100d0cafd6c2615a7b3302fca56e90b048a6872"
    }, 
    data: {
        data: [
            {
                signature: {
                    type: "Buffer", 
                    data: [
                        48, 
                        68, 
                        2, 
                        32, 
                        69, 
                        195, 
                        53, 
                        86, 
                        251, 
                        98, 
                        119, 
                        203, 
                        202, 
                        119, 
                        38, 
                        135, 
                        205, 
                        241, 
                        42, 
                        113, 
                        227, 
                        141, 
                        19, 
                        91, 
                        138, 
                        224, 
                        212, 
                        161, 
                        150, 
                        192, 
                        212, 
                        180, 
                        210, 
                        1, 
                        96, 
                        148, 
                        2, 
                        32, 
                        13, 
                        73, 
                        45, 
                        74, 
                        64, 
                        188, 
                        100, 
                        45, 
                        76, 
                        71, 
                        180, 
                        110, 
                        102, 
                        134, 
                        167, 
                        133, 
                        92, 
                        14, 
                        92, 
                        4, 
                        250, 
                        222, 
                        252, 
                        235, 
                        185, 
                        139, 
                        125, 
                        43, 
                        52, 
                        66, 
                        97, 
                        110
                    ]
                }, 
                payload: {
                    header: {
                        channel_header: {
                            type: "ENDORSER_TRANSACTION", 
                            version: 3, 
                            timestamp: "Tue Dec 12 2017 12:12:41 GMT+0800 (CST)", 
                            channel_id: "mychannel", 
                            tx_id: "43302aba883c0e88a873f8ebdc7b5e2108e6551b7a307dadafbcb56d5bfc08db", 
                            epoch: 0, 
                            extension: {
                                type: "Buffer", 
                                data: [
                                    18, 
                                    10, 
                                    18, 
                                    8, 
                                    115, 
                                    105, 
                                    110, 
                                    111, 
                                    99, 
                                    104, 
                                    101, 
                                    109
                                ]
                            }
                        }, 
                        signature_header: {
                            creator: {
                                Mspid: "Org1MSP", 
                                IdBytes: "-----BEGIN CERTIFICATE-----
MIICDzCCAbWgAwIBAgIUefaQMTuNLYuqeO5vbB+RfdDWZ4kwCgYIKoZIzj0EAwIw
czELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNh
biBGcmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMT
E2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcxMjA4MDM1NzAwWhcNMTgxMjA4MDM1
NzAwWjAPMQ0wCwYDVQQDEwRTT01PMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
Wxs05enfW9FAoIOmeLb2XDIy/1TclWoWCxwX0PZnLYgkXZvr6JIUGdZAHRPA0Q1X
VTqknwlZE+MLIJkkL90Q06OBijCBhzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/
BAIwADAdBgNVHQ4EFgQUK4TA+sBbL6rMaEPbagF+Pqo4tcIwKwYDVR0jBCQwIoAg
wX/Q9kBrbSdhAFb1A7Mz2uvr6QxrwLHAPdv7TQCzVSEwGwYDVR0RBBQwEoIQaG9z
dC0xNzItMTYtMC00NjAKBggqhkjOPQQDAgNIADBFAiEAjYFaMiJ6LUCvMMzbadK4
85fBolx3+GyILKXNt70xwh0CIDT7StoCjrsWNmcD1IxF3H4Ov3LfHsTY14bO01w/
L9RT
-----END CERTIFICATE-----
"
                            }, 
                            nonce: {
                                type: "Buffer", 
                                data: [
                                    129, 
                                    10, 
                                    23, 
                                    40, 
                                    135, 
                                    195, 
                                    231, 
                                    227, 
                                    161, 
                                    204, 
                                    157, 
                                    16, 
                                    246, 
                                    32, 
                                    161, 
                                    193, 
                                    108, 
                                    89, 
                                    65, 
                                    225, 
                                    135, 
                                    42, 
                                    117, 
                                    151
                                ]
                            }
                        }
                    }, 
                    data: {
                        actions: [
                            {
                                header: {
                                    creator: {
                                        Mspid: "Org1MSP", 
                                        IdBytes: "-----BEGIN CERTIFICATE-----
MIICDzCCAbWgAwIBAgIUefaQMTuNLYuqeO5vbB+RfdDWZ4kwCgYIKoZIzj0EAwIw
czELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNh
biBGcmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMT
E2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcxMjA4MDM1NzAwWhcNMTgxMjA4MDM1
NzAwWjAPMQ0wCwYDVQQDEwRTT01PMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
Wxs05enfW9FAoIOmeLb2XDIy/1TclWoWCxwX0PZnLYgkXZvr6JIUGdZAHRPA0Q1X
VTqknwlZE+MLIJkkL90Q06OBijCBhzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/
BAIwADAdBgNVHQ4EFgQUK4TA+sBbL6rMaEPbagF+Pqo4tcIwKwYDVR0jBCQwIoAg
wX/Q9kBrbSdhAFb1A7Mz2uvr6QxrwLHAPdv7TQCzVSEwGwYDVR0RBBQwEoIQaG9z
dC0xNzItMTYtMC00NjAKBggqhkjOPQQDAgNIADBFAiEAjYFaMiJ6LUCvMMzbadK4
85fBolx3+GyILKXNt70xwh0CIDT7StoCjrsWNmcD1IxF3H4Ov3LfHsTY14bO01w/
L9RT
-----END CERTIFICATE-----
"
                                    }, 
                                    nonce: {
                                        type: "Buffer", 
                                        data: [
                                            129, 
                                            10, 
                                            23, 
                                            40, 
                                            135, 
                                            195, 
                                            231, 
                                            227, 
                                            161, 
                                            204, 
                                            157, 
                                            16, 
                                            246, 
                                            32, 
                                            161, 
                                            193, 
                                            108, 
                                            89, 
                                            65, 
                                            225, 
                                            135, 
                                            42, 
                                            117, 
                                            151
                                        ]
                                    }
                                }, 
                                payload: {
                                    chaincode_proposal_payload: {
                                        input: {
                                            type: "Buffer", 
                                            data: [
                                                10, 
                                                169, 
                                                1, 
                                                8, 
                                                1, 
                                                18, 
                                                10, 
                                                18, 
                                                8, 
                                                115, 
                                                105, 
                                                110, 
                                                111, 
                                                99, 
                                                104, 
                                                101, 
                                                109, 
                                                26, 
                                                152, 
                                                1, 
                                                10, 
                                                20, 
                                                115, 
                                                105, 
                                                103, 
                                                110, 
                                                98, 
                                                117, 
                                                115, 
                                                105, 
                                                110, 
                                                101, 
                                                115, 
                                                115, 
                                                99, 
                                                111, 
                                                110, 
                                                116, 
                                                114, 
                                                97, 
                                                99, 
                                                116, 
                                                10, 
                                                36, 
                                                56, 
                                                57, 
                                                52, 
                                                56, 
                                                97, 
                                                53, 
                                                49, 
                                                51, 
                                                45, 
                                                100, 
                                                97, 
                                                50, 
                                                98, 
                                                45, 
                                                52, 
                                                48, 
                                                50, 
                                                55, 
                                                45, 
                                                97, 
                                                53, 
                                                55, 
                                                52, 
                                                45, 
                                                56, 
                                                52, 
                                                97, 
                                                99, 
                                                57, 
                                                100, 
                                                48, 
                                                97, 
                                                98, 
                                                53, 
                                                100, 
                                                52, 
                                                10, 
                                                32, 
                                                98, 
                                                56, 
                                                55, 
                                                49, 
                                                48, 
                                                50, 
                                                101, 
                                                98, 
                                                49, 
                                                51, 
                                                53, 
                                                99, 
                                                57, 
                                                98, 
                                                49, 
                                                97, 
                                                102, 
                                                99, 
                                                54, 
                                                53, 
                                                100, 
                                                57, 
                                                101, 
                                                52, 
                                                51, 
                                                55, 
                                                100, 
                                                53, 
                                                57, 
                                                97, 
                                                53, 
                                                53, 
                                                10, 
                                                22, 
                                                76, 
                                                68, 
                                                95, 
                                                83, 
                                                79, 
                                                77, 
                                                79, 
                                                45, 
                                                49, 
                                                55, 
                                                49, 
                                                50, 
                                                49, 
                                                50, 
                                                49, 
                                                50, 
                                                49, 
                                                50, 
                                                48, 
                                                48, 
                                                55, 
                                                55, 
                                                10, 
                                                32, 
                                                98, 
                                                56, 
                                                55, 
                                                49, 
                                                48, 
                                                50, 
                                                101, 
                                                98, 
                                                49, 
                                                51, 
                                                53, 
                                                99, 
                                                57, 
                                                98, 
                                                49, 
                                                97, 
                                                102, 
                                                99, 
                                                54, 
                                                53, 
                                                100, 
                                                57, 
                                                101, 
                                                52, 
                                                51, 
                                                55, 
                                                100, 
                                                53, 
                                                57, 
                                                97, 
                                                53, 
                                                53
                                            ]
                                        }
                                    }, 
                                    action: {
                                        proposal_response_payload: {
                                            proposal_hash: "8e473ff84369c0c1d798518135ceb3f5baaeb6fa2964ffcf54c441f9c6b404b0", 
                                            extension: {
                                                results: {
                                                    data_model: 0, 
                                                    ns_rwset: [
                                                        {
                                                            namespace: "lscc", 
                                                            rwset: {
                                                                reads: [
                                                                    {
                                                                        key: "sinochem", 
                                                                        version: {
                                                                            block_num: {
                                                                                low: 5, 
                                                                                high: 0, 
                                                                                unsigned: true
                                                                            }, 
                                                                            tx_num: {
                                                                                low: 0, 
                                                                                high: 0, 
                                                                                unsigned: true
                                                                            }
                                                                        }
                                                                    }
                                                                ], 
                                                                range_queries_info: [ ], 
                                                                writes: [ ]
                                                            }
                                                        }, 
                                                        {
                                                            namespace: "sinochem", 
                                                            rwset: {
                                                                reads: [
                                                                    {
                                                                        key: "contractSequence~signer8948a513-da2b-4027-a574-84ac9d0ab5d4SOMO", 
                                                                        version: null
                                                                    }
                                                                ], 
                                                                range_queries_info: [ ], 
                                                                writes: [
                                                                    {
                                                                        key: "contractSequence~signer8948a513-da2b-4027-a574-84ac9d0ab5d4SOMO", 
                                                                        is_delete: false, 
                                                                        value: "{\"ContractSequence\":\"8948a513-da2b-4027-a574-84ac9d0ab5d4\",\"ContractHash\":\"b87102eb135c9b1afc65d9e437d59a55\",\"ContracContent\":\"LD_SOMO-17121212120077\",\"ContracSigned\":\"b87102eb135c9b1afc65d9e437d59a55\",\"Signer\":\"SOMO\"}"
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    ]
                                                }, 
                                                events: {
                                                    chaincode_id: "", 
                                                    tx_id: "", 
                                                    event_name: "", 
                                                    payload: {
                                                        type: "Buffer", 
                                                        data: [ ]
                                                    }
                                                }, 
                                                response: {
                                                    status: 200, 
                                                    message: "", 
                                                    payload: ""
                                                }
                                            }
                                        }, 
                                        endorsements: [
                                            {
                                                endorser: {
                                                    Mspid: "Org1MSP", 
                                                    IdBytes: "-----BEGIN -----
MIICGTCCAb+gAwIBAgIQePGkYkdA4SNSa8ob70gWUzAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0xNzEyMDgwMzQzNTRaFw0yNzEyMDYwMzQzNTRa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMC5vcmcxLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJr141xodaUt+q/Yix0z5i1Z1v7R1DOQI
/n3oN/t2Gd5kcO1Wmgo0HPhwW4zRIe3Ra3zacETcuB0+MJfr4JoaMKNNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgwX/Q9kBrbSdh
AFb1A7Mz2uvr6QxrwLHAPdv7TQCzVSEwCgYIKoZIzj0EAwIDSAAwRQIhALwYy3IN
SFIvgc/pLLgI1GEKLCKmaxjjzVON/TNIZvRDAiBrXoy7jUYufasZpL2U8kSc+G7D
Wu2uQDmL6Z0wwmxfgQ==
-----END -----
"
                                                }, 
                                                signature: {
                                                    type: "Buffer", 
                                                    data: [
                                                        48, 
                                                        68, 
                                                        2, 
                                                        32, 
                                                        108, 
                                                        159, 
                                                        108, 
                                                        46, 
                                                        65, 
                                                        215, 
                                                        37, 
                                                        124, 
                                                        92, 
                                                        208, 
                                                        0, 
                                                        139, 
                                                        52, 
                                                        93, 
                                                        185, 
                                                        122, 
                                                        241, 
                                                        224, 
                                                        174, 
                                                        26, 
                                                        116, 
                                                        71, 
                                                        67, 
                                                        146, 
                                                        142, 
                                                        114, 
                                                        72, 
                                                        172, 
                                                        210, 
                                                        79, 
                                                        128, 
                                                        2, 
                                                        2, 
                                                        32, 
                                                        87, 
                                                        123, 
                                                        237, 
                                                        89, 
                                                        90, 
                                                        122, 
                                                        93, 
                                                        252, 
                                                        88, 
                                                        150, 
                                                        252, 
                                                        186, 
                                                        23, 
                                                        25, 
                                                        219, 
                                                        135, 
                                                        146, 
                                                        225, 
                                                        106, 
                                                        175, 
                                                        144, 
                                                        115, 
                                                        100, 
                                                        250, 
                                                        198, 
                                                        250, 
                                                        240, 
                                                        17, 
                                                        68, 
                                                        190, 
                                                        88, 
                                                        233
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        ]
    }, 
    metadata: {
        metadata: [
            {
                value: "", 
                signatures: [
                    {
                        signature_header: {
                            creator: {
                                Mspid: "OrdererMSP", 
                                IdBytes: "-----BEGIN -----
MIICDDCCAbOgAwIBAgIRAIR8DA+tMQlidyGAavZdTHswCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzEyMDgwMzQzNTRaFw0yNzEyMDYwMzQzNTRaMFgxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRwwGgYDVQQDExNvcmRlcmVyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAEMsdfSURGLhNY2XpR2jpm/icW8ZJJkB4T0wmHMrph/VsrxN0Q
eZxT3T8uZMgJBGk/mT+GijMqU77aBPs9NjXEqqNNMEswDgYDVR0PAQH/BAQDAgeA
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgtFkgivz5vYpwRU4Ts78mpjl08s2x
nnIzr8fFUbKUPWIwCgYIKoZIzj0EAwIDRwAwRAIgZANHPI2XBFOTskzOGSjufRAX
9B6OZug6fWiFHOgKddgCIAqoIzfPVvwlP1EsJ6NS8CQ6KX4ZWT5AJ/QHuM/YfJXF
-----END -----
"
                            }, 
                            nonce: {
                                type: "Buffer", 
                                data: [
                                    171, 
                                    116, 
                                    99, 
                                    128, 
                                    70, 
                                    44, 
                                    81, 
                                    127, 
                                    129, 
                                    19, 
                                    244, 
                                    144, 
                                    216, 
                                    224, 
                                    151, 
                                    13, 
                                    143, 
                                    144, 
                                    58, 
                                    9, 
                                    172, 
                                    137, 
                                    120, 
                                    143
                                ]
                            }
                        }, 
                        signature: {
                            type: "Buffer", 
                            data: [
                                48, 
                                69, 
                                2, 
                                33, 
                                0, 
                                225, 
                                24, 
                                66, 
                                183, 
                                51, 
                                115, 
                                254, 
                                75, 
                                177, 
                                142, 
                                232, 
                                8, 
                                167, 
                                158, 
                                42, 
                                231, 
                                199, 
                                171, 
                                231, 
                                220, 
                                74, 
                                24, 
                                152, 
                                1, 
                                186, 
                                23, 
                                140, 
                                77, 
                                235, 
                                29, 
                                182, 
                                242, 
                                2, 
                                32, 
                                88, 
                                196, 
                                209, 
                                143, 
                                7, 
                                214, 
                                197, 
                                198, 
                                96, 
                                60, 
                                17, 
                                20, 
                                101, 
                                2, 
                                164, 
                                90, 
                                20, 
                                10, 
                                57, 
                                193, 
                                131, 
                                132, 
                                84, 
                                130, 
                                42, 
                                120, 
                                153, 
                                99, 
                                214, 
                                107, 
                                171, 
                                140
                            ]
                        }
                    }
                ]
            }, 
            {
                value: {
                    index: {
                        low: 2, 
                        high: 0, 
                        unsigned: true
                    }
                }, 
                signatures: [
                    {
                        signature_header: {
                            creator: {
                                Mspid: "OrdererMSP", 
                                IdBytes: "-----BEGIN -----
MIICDDCCAbOgAwIBAgIRAIR8DA+tMQlidyGAavZdTHswCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzEyMDgwMzQzNTRaFw0yNzEyMDYwMzQzNTRaMFgxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMRwwGgYDVQQDExNvcmRlcmVyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAEMsdfSURGLhNY2XpR2jpm/icW8ZJJkB4T0wmHMrph/VsrxN0Q
eZxT3T8uZMgJBGk/mT+GijMqU77aBPs9NjXEqqNNMEswDgYDVR0PAQH/BAQDAgeA
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgtFkgivz5vYpwRU4Ts78mpjl08s2x
nnIzr8fFUbKUPWIwCgYIKoZIzj0EAwIDRwAwRAIgZANHPI2XBFOTskzOGSjufRAX
9B6OZug6fWiFHOgKddgCIAqoIzfPVvwlP1EsJ6NS8CQ6KX4ZWT5AJ/QHuM/YfJXF
-----END -----
"
                            }, 
                            nonce: {
                                type: "Buffer", 
                                data: [
                                    0, 
                                    214, 
                                    205, 
                                    72, 
                                    214, 
                                    60, 
                                    174, 
                                    208, 
                                    184, 
                                    111, 
                                    96, 
                                    123, 
                                    109, 
                                    219, 
                                    216, 
                                    239, 
                                    195, 
                                    23, 
                                    54, 
                                    150, 
                                    102, 
                                    151, 
                                    213, 
                                    52
                                ]
                            }
                        }, 
                        signature: {
                            type: "Buffer", 
                            data: [
                                48, 
                                69, 
                                2, 
                                33, 
                                0, 
                                164, 
                                231, 
                                29, 
                                235, 
                                174, 
                                69, 
                                199, 
                                8, 
                                93, 
                                160, 
                                50, 
                                188, 
                                56, 
                                168, 
                                161, 
                                103, 
                                111, 
                                255, 
                                45, 
                                183, 
                                206, 
                                78, 
                                216, 
                                2, 
                                93, 
                                207, 
                                242, 
                                134, 
                                140, 
                                176, 
                                75, 
                                250, 
                                2, 
                                32, 
                                21, 
                                165, 
                                228, 
                                103, 
                                20, 
                                81, 
                                221, 
                                45, 
                                200, 
                                194, 
                                105, 
                                142, 
                                172, 
                                238, 
                                210, 
                                174, 
                                82, 
                                236, 
                                225, 
                                3, 
                                190, 
                                82, 
                                83, 
                                255, 
                                106, 
                                1, 
                                120, 
                                124, 
                                215, 
                                196, 
                                236, 
                                241
                            ]
                        }
                    }
                ]
            }, 
            [
                0
            ]
        ]
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值