/ archive / Usage_patterns_by_status-react.md
Usage_patterns_by_status-react.md
 1  1.  Usage patterns by status-react
 2  
 3  status-go has a number of customisations for go-ethereum and many of
 4  them are usually not obvious. Nor what status-react is present in
 5  human-readable form.
 6  
 7  This page serves as a place with a collection of random facts about how
 8  status-react uses status-go. This should be revised and structured and
 9  currently just a quick start.
10  
11  ## How status-react calls status-go?
12  
13  1.  React Native, which is used for running app itself, this env can
14      call web3 through CallRPC and we have a full control over code
15      inside this env
16  2.  webviews: among other things Status is dapp browser, so users can
17      run dapps in the webview and we inject web3 object into webview in
18      order to make this happen. We don’t have control over code inside
19      this env, it’s third party. All calls to web3 inside webview are
20      passed to CallRPC as well
21  3.  jail (otto vm): we are using this env in order to allow third party
22      to define commands and different bot’s behaviour in chat. Calls to
23      web3 are handled internally on go side, so we don’t use CallRPC at
24      least from status-react side here. Ans again, code is written by
25      third parties, except our own bots
26  4.  JNI signals:
27      [1](https://github.com/status-im/status-go/wiki/Notes-on-Bindings)(https://github.com/status-im/status-go/wiki/Notes-on-Bindings)
28  
29  ## What are Send and SendAsync?
30  
31  \!\[\](https://i.imgur.com/Ov1Y0H4.png)
32  
33  The source:
34  
35  `   Consumer->Go Bindings: Call`
36  
37  1.  1.  Send Transaction Flow
38  
39  When the (async) handler of \`/send\` command is executed, the callback
40  doesn’t return till the transaction queue is committed (confirmed), but
41  immediately we got confirmation from jail about transaction being added
42  (“transaction.queued” event).
43  
44  Also, some insights can be found in
45  [2](https://github.com/status-im/status-go/wiki/Notes-on-Bindings)(https://github.com/status-im/status-go/wiki/Notes-on-Bindings)