- run locally
- trigger set up script
- run in gitpod
- trigger set up script
- config for gitpod
- set up script
- set up .env file
- generate account
- checks account has been funded
- interactive prompts
- invoke logging
- logging utility methods
- log message
- save locally to disk
- save remotely (anon)
- config to opt out
- save to google app script
- perf opt with debounce
- perf optimisation
- hash for redumentary spam protection
- various logBase updates to make saved format more useful for later analysis
- analyse remote logs (metrics)
- tutorial steps script
- pause
- check result
- invoke logging
- run in github code spaces
- trigger set up script
- config for github code spaces
- templating
- extract template based on this 1st implementation
- updates to upstream template can be used to update downstream repos (including this)
- templates can be used to spin up more hello world repos or other accompanying demo repos
v0.5.1 feedback
- TODO
v0.5.0 feedback
- fix bug in stats where ./06-stats.js always shows zero scripts -->
2bf929a - fix bug in setup script where setup complete isn't getting called ->
dd24897 - remove extraneous console.logs cluttering outputs -->
cd7c7c2 - perf improvement by setting a timeout of requests -->
4dddf27 - add more comment-docs for function in logger -->
57775b8 - feedback to engineering about faucet false positives for spamming
- consider read logs from disk to write to remote as further perf opt
- consider refector to split stats analysis functions into separate class
v0.4.2 feedback
- change blockscout URLs to be testnet only (MK) -->
335746d - make funding process more obvious (MK) -->
bade1a3- bold/highlight "← copy this" and "← open this" in main output
- bold/highlight "← copy this" and "← open this" in info box
- change explorer URL position
- make generation of new seed phrase more obvious by highlighting the text (MK) -->
7a1b40f - remove extraneous logs for "msg: 'closing rlPrompt'" -->
9d7da67 - switch from hardhat solidity syntax highlighter to another more basic one (BJ) -->
b0e90d5 - typo: 'bytcode' -->
934496e - remove "foo" from default config.json file -->
b9e23fb - in 05-interact, under 'initialise smart contract' format URL to make it obvious that it is clickable -->
36ab31d - typing in your own seed phrase does not work in prompt values script (JCH) --> WONTDO looked into it, does indeed seem to be validating properly
- in logger capture when script has exited prematurely (e.g. Ctrl+C), and count that as an error for the purposes of stats -->
b36d9d6 - work out if possible to disable log output from dotenv -->
73cf7b2 - refactor formatter such that it is easier to use for single strings (rather than arrays of strings) -->
136c722 - logger file line mistakes - fix for when logger calls another logger function (cannot use hardcoded stack depth) -->
378147a
v0.4.0 feedback
- when prompting config values, readline/stdin issue where each input character gets printed twice, e.g. "nneeww" instead of "new" -->
b473bde - setup script info box flashes, cannot be read, because terminal closed -->
94842cc - make info box has single row of "=" at bottom (not double) -->
7448b11 - make info box pause before revealing -->
7368043 - see if can have the solidity syntax plugin preinstalled within VS code -->
0103a67 - in 00-fund, put the instructions for funding in an info box -->
a41df59 - in 01-compile, open the solidity file in vs code -->
eecb50f - in 01-compile, output the exact artefact JSON field names in the info box -->
eecb50f - in 03-deploy, output the block explorer URL based on the hash --> WONTDO because not possible, but made some semi-related tweaks
7c42705 - in 05-interact, when outputting the account address, do so as block explorer URL -->
47ac7ea - in 05-interact, add output indicating "0n" as a BigInt -->
47ac7ea - feedback to engineering on faucet
- faucet is too slow
- faucet should output transaction hash consistently
- feedback to engineering on block explorer
- balance shown in JSON-RPC, but not shown in block explorer, seems to be a synchronisation issue
- ABI tab is blank immediately after verification, and only appears after switching back and forth to other tabs
v0.3.1 feedback
- for the setup shell script, npm installation to split into 2 separate batches to reduce time to first interaction -->
9a71b4a- only install dot env and bip39 before prompting -->
9a71b4a
- only install dot env and bip39 before prompting -->
- at end of 00-fund:
- what just happened: highlight wallet generation and accoutn creation -->
7c7a77e
- what just happened: highlight wallet generation and accoutn creation -->
v0.2.0 feedback
- remove auto jump to line for logSection, instead only do it on begin -->
b3dbaeb - open .env and config.json files automatically -->
9c05e03 - for the "run this script next" outputs, highlight file name with different colour -->
199e8b9 - for 00-fund, after account lookup include instructions, before "after funding account section" -->
adc78cf - when shell command is output, highlight in a different colour -->
896e8ca - move the logic for waiting for funds from step 0 to step 3 -->
b1dfef8- step 0 just outputs a warning if there are zero funds -->
b1dfef8 - step 3 add the 30s 2nd check logic -->
b1dfef8
- step 0 just outputs a warning if there are zero funds -->
- for 06-stats
- remove JS object output -->
205864e - completion rate determine why it shows 6/8 instead of 7/8 -->
28fd995 - convert seconds to minutes in human readable output -->
8b7da4b
- remove JS object output -->
- step 3 for deploy, link directly to the bytecode tab -->
a70be3e - step 5 interact don't output full ABI, just truncate -->
d79680f - investigate if there's an additional ethersjs wait needed on the SC interaction transaction -->
da99ce0- feedback to engineering that transaction doesn't appear in block explorer after transaction has happened --> not needed
- for the setup shell script, npm installation to split into 2 separate batches to reduce time to first interaction --> done in v0.3.1 feedback
- only install dot env and bip39 before prompting --> done in v0.3.1 feedback
- feedback to engineering that faucet dispense needs to be faster
- feedback to engineering that there is a 90s+ delay for account to be funded
v0.1.0 feedback
- for logger waits: include timestamps of start of wait and end of wait -->
58bd164 - for all scripts: logs which include a command - change to use a different ANSI colouring -->
b1492c6 - for util, add new function to run CLI commands -->
0267e7d - setup shell, after it is complete -->
513731f- investigate if possible to close a shell in gitpod (perhaps
exit?)- it was
exitin thesetupshell - plus
gp tasks stop "$( gp tasks list --no-color | grep 'setup' | awk '{print $2}' )"in the main shell --> ref https://www.gitpod.io/docs/classic/user/configure/workspaces/gitpod-cli#stop-2
- it was
- if possible, switch to main shell after setup shell is closed
- investigate if possible to close a shell in gitpod (perhaps
- [-] in 00-fund (new script) -->
00616c3- create new script
- output blockscout URL for account address in output -->
4f0eabe - refactor 03-deploy to replace this
- feedback to engineering that:
- faucet needs to be faster to dispense, and
- even when there's an error message, blockscout URL should be provided to account
- faucet display transaction should show in blockscout (even after the RPC return value shows that the account balance has indeed increased already)
- faucet should also include blockscout URL for dispense transaction
- setup script
- refactor to shift this function to logger -->
f41d44b - investigate double input characters upon first prompt --> TODO still unknown, even though now there's only a single instance of
readlinein the entire repo
- refactor to shift this function to logger -->
- at start of main shell: prompt user to start the first script -->
dc03404 - at the end of each script: prompt user to run the command for the next script -->
dc03404 - upon each log:
- investigate if possible to automate line number when using the
codecommand- use
code --goto "${PATH}:${LINE_NUM}:${COLUMN_NUM}" - note that
file://must be removed
- use
- if possible: scroll the script file to the specific line of code for the log for each section -->
3360e89
- investigate if possible to automate line number when using the
- at the beginning of each script:
- open the script file itself in vscode -->
7271477 - add ability to disable this via a flag in config file --> WONTDO, no longer relevant
- open the script file itself in vscode -->
- at end of setup script:
- what just happened here: explain the files, where they will be used -->
b2ab906 - open config.json in vscode --> impl in v0.2.0 feedback
- open .env file in vscode --> impl in v0.2.0 feedback
- what just happened here: explain the files, where they will be used -->
- add an 06-stats script
- analyse time spent -->
f393787 - read and parse log files for analysis -->
9dca73b - open the script file itself in vscode -->
7271477 - print human-readable summary -->
b8debc6 - calculations for setup time -->
6de4806 - include setup buffer time if gitpod is detected --> WONTDO as not possible to estimate
- instead will include instructions in README -->
4e40f40
- instead will include instructions in README -->
- analyse time spent -->
- logs from yesterday's stale gitpod image (logs.json.txt)
- extract them before it gets deleted
- perform time spent analysis
- hold onto it for later comparison
- at end of 01-compile:
- open the counter.json artefact -->
e97b09d - what just happened: highlight where the ABI is, and where the bytecode is -->
8e41bd1
- open the counter.json artefact -->
- in middle of 02-test:
- open Counter.test.js -->
a842176 - what just happened: describe the tests in the file -->
5a3b2d4
- open Counter.test.js -->
- in 03-deploy
- consider moving funding step from 03-deploy to a new 00-fund --> done in v0.2.0
- what just happened: after deployment, include explanation for why an unverified contract still shows its source code -->
152f3d6 - link to
tab=contract_bytecodeblockscout URL --> done in v0.2.0
- in 04-verify
- after verification, open up the source code of Counter.sol so that it is convenient to compare -->
e440451 - what just happened: after verification, explain what the ABI and source code are -->
c86f324
- after verification, open up the source code of Counter.sol so that it is convenient to compare -->
- in 05-interact
- do not console.log the full ABI --> already done in v0.2.0 output
- what just happened here: for all 3x interactions (query before, transaction, query after) -->
c08968a - rename the outputs to make query before and after more clearL --> done in v0.2.0
- for the transaction output the blockscout URL instead of the hash -->
484fc32