or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Indexer Ideas
Index.py
This script currently (on a polling loop every ~1 second):
block
table in postgres to findlast_processed_block
latest_block_height
last_processed_block
andlatest_block_height
, runningprocess_block()
to index each block into postgresblock
,tx
,msg
,msg_event
,msg_event_attr
Some ETL process
Keeping "retirements table" as our use case in mind…
Want to write to a table that looks like:
Three approaches:
retirements
table that sources data from postgres and REST API on every row that is writtena.
event_retire
which is a pure SQL ETL (INSERT INTO SELECT
)b.
retirements
which polls new rows inevent_retire
and joins them with extra data from a REST API to populateretirements
tableretirements
table sourcing only from postgres, and all non tx/event data is queried from the clientIn any above case, we will need to answer questions like:
last_processed
table, which store "table_name" and last processed block height for each ETL process ORAppendix
Example SQL that can help us generate some kind of table: