区块链学习笔记

Bitshares Transaction process fl

2018-07-06  本文已影响0人  杨小伟的世界

Oops , looks toooooo big.

            cli_wallet                                  Full Node                                        itself or other P2P node

                                                                                          
                                                                                          evaluator::
                                                                                              apply()    -> SPECIFIED_EVALUATOR::do_apply()

                                                                                                ^                                              
                                                                                                |
                                                                                                
                                                                                          evaluator::
                                                                                              evaluate() -> SPECIFIED_EVALUATOR::do_evaluate()

                                                                                                ^                                              
                                                                                                |
                                                                                                
                                                                                          generic_evaluator::
                                                                                              start_evaluate()

                                                                                                ^                                              
                                                                                                |
                                                                                                
                                                                                          op_evaluator_impl<T>::
                                                                                              evaluate()

                                                                                                ^                                              
                                                                                                |
                                                                                                                                               
     wallet_api_impl::                                                                    database::
         sign_transaction()                                                                   apply_operation()

                |                                                                               ^                                              
                v                                                                               |
                                                                                                
     api<network_broadcast_api>::    ------->    network_broadcast_api::                  database::                                                       
         broadcast_transaction()                     broadcast_transaction()                  _apply_transatcion()

                                                           |                                    ^                                              
                                                           v                                    |
                                                                                                
                                                 database::                   ------->    database::
                                                     push_transaction()                       push_transaction()
                                                                                                                                               
                                                          |                                     ^                                              
                                             +------------|-------------------------------------|-------------------------------------+
                                             |            v                                     |                                     |
                                             |   node::                       ---+        application_impl::                          |
                                             |       broadcast_transaction()     |            handle_transaction()                    |
                                             |                                   |              ^                                     |    
                              P2P Layer      |                                   |              |                                     |    
                                             |                                   |                                                    |    
                                             |                                   +--->    node_impl::                                 |
                                             |                                                process_ordinary_message()              |
                                             |                                                                                        |
                                             +----------------------------------------------------------------------------------------+


上一篇下一篇

猜你喜欢

热点阅读