forked from ethereumjs/ethereumjs-monorepo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbrowser.html
52 lines (42 loc) · 1.9 KB
/
browser.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!doctype html>
<html>
<head>
<title>EthereumJS Browser Examples</title>
<script type="module">
import { Account, Address } from '@ethereumjs/util'
import { DefaultStateManager } from '@ethereumjs/statemanager'
import { hexToBytes } from '@ethereumjs/util'
const run = async () => {
const stateManager = new DefaultStateManager()
const address = new Address(hexToBytes('0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b'))
const account = new Account(BigInt(0), BigInt(1000))
await stateManager.checkpoint()
await stateManager.putAccount(address, account)
await stateManager.commit()
await stateManager.flush()
const accountFromSM = await stateManager.getAccount(address)
console.log(accountFromSM.balance)
}
run()
</script>
</head>
<body style="padding:50px; font-family: Arial, Helvetica, sans-serif;">
<h1>StateManager | @ethereumjs/statemanager</h1>
Basic usage of this library in the browser (using <a href="https://github.com/vitejs/vite" target="_blank">Vite</a>)
<h3>Run the Example</h3>
<ol>
<li>Go to the library root directory (packages/[LIBRARY_NAME]/)</li>
<li>Build "dist" folder with: npm run build</li>
<li>Start Vite development server with: npx vite</li>
<li>Open the example URL in the browser (http://localhost:5173/examples/browser.html)</li>
<li>Open the development console (e.g. Chrome Developer Tools)</li>
<li>See example results and play with the code</li>
</ol>
<h3>Interactive CLI</h3>
<ol>
<li>Open the "Sources -> Page" tab in the Chrome Developer Tools</li>
<li>Set a breakpoint within the original "browser.html" file (so not the one generated by Vite)</li>
<li>Now you can use and play with the imports dynamically</li>
</ol>
</body>
</html>