Track changes to mvp web of trust.

This commit is contained in:
Brian Lee 2024-01-11 11:08:10 -08:00
commit 6a78ab1e27
7 changed files with 529 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*.db
archive/

23
README.md Normal file
View File

@ -0,0 +1,23 @@
# web of npubs
Tool to get user contact lists.
## Running
todo
## Development
Use repl:
```shell
export DEBUG='ndk:*'
deno repl -A
```
Paste code.
## Reference
* [NDK docs](https://ndk.fyi/docs/)
* [Deno and databases](https://docs.deno.com/runtime/manual/basics/connecting_to_databases)

10
create-tables.sql Normal file
View File

@ -0,0 +1,10 @@
CREATE TABLE IF NOT EXISTS subscribers (
pubkey TEXT PRIMARY KEY,
created_at INTEGER
);
CREATE TABLE IF NOT EXISTS foaf (
foaf_pubkey TEXT,
subscriber_pubkey TEXT,
FOREIGN KEY (subscriber_pubkey) REFERENCES subscribers(pubkey)
);

18
create-tables.ts Normal file
View File

@ -0,0 +1,18 @@
// https://deno.land/x/sqlite
import { DB } from "https://deno.land/x/sqlite/mod.ts";
const db = new DB("pubkeys.db");
db.query(`
CREATE TABLE IF NOT EXISTS subscribers (
pubkey TEXT PRIMARY KEY,
created_at INTEGER
)
`);
db.query(`
CREATE TABLE IF NOT EXISTS foaf (
foaf_pubkey TEXT,
subscriber_pubkey TEXT,
FOREIGN KEY (subscriber_pubkey) REFERENCES subscribers(pubkey)
)
`);
db.close();

364
pubkeys.premium.json Normal file
View File

@ -0,0 +1,364 @@
[
"69a0a0910b49a1dbfbc4e4f10df22b5806af5403a228267638f2e908c968228d",
"32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245",
"e774934cb65e2b29e3b34f8b2132df4492bc346ba656cc8dc2121ff407688de0",
"2f7463a476b4d5ad3d2e7a7e2f57be020f8548d6a30a150e17f2d94ce92b8023",
"7317f913c3de739e83ab2ddc6700a8f5caf45fac5a02c6a886b55ef9b7e34d41",
"d427a054bfdc93bd73cb263fba6d3dc4c9e352ff9bfe7a0e33693d2cf15759eb",
"c933319100dd1c4dd9cbb40b7fe31d386c5de5b1cd889f6aaac53a7623b48a12",
"6d2a43408ee74c2e35fd7f4eb3288b73cfafd88cd2d059e6c05058e676fc5290",
"feb4e6277e69aedd3b6c0f2c1904976397f30b8f003b201a4908ea3fa7a7bfe8",
"ecbb3ac538fffa6c50e5973f0387292bf08693af0bf3389ef4a27bfaaa7f4587",
"34fb6b5e1aa2f5b4d6925b085144b43860d8a549a2394a57cfacec3fa266367d",
"7e654de4f6cb53249809279fab9551aec2fcf5c3289b36208b7dbda80859d387",
"552a5a9768c0215f5834c8af38980729813fa85b5a7220c02a464d46a0b1f5b8",
"237506ca399e5b1b9ce89455fe960bc98dfab6a71936772a89c5145720b681f4",
"1867f985d7e06ea5b10065947dc1fe0cb810450c7002f1b5b2fae153bd57d9c9",
"7e9bff2ecc1f6021bac3aa341d56171aec663ca10fce288ae63d19e61f1f6a64",
"597b42de56a9e0c19ee2d0cde5797dd58d48ce8dd25c732b4c873af11161f9fd",
"83768054ef906ca493dcf703dd93b73fa71054ec80f83e71e2eb68eb5139e1d6",
"5a36b20ed0f635904a2082d3710ee01a3435d06bff3d4ddfa11905352e287364",
"4f2118e124779291eef71a4fbdfc3458e5709d8efcdb941bf54ce2094e987729",
"5748528068b958db3f33cf0ebf63096f8c780d719a18decaf4df12ea3421a15f",
"7ca66d4166b16f54a16868191ba1c6386a976624f4634f3896d9b6740a388ca3",
"9839a36d51b5f190497f9b2d268ee08903eec7f5ed2e9ae3ceeb5db89aabba10",
"654430bbc6e24c0fcf78031f543908102a2caf399aae7dff54733d2146ea63b1",
"49e25ac5d0ffd29c3eea8d2e54c92d6be212b306dc9120b18f8a46216882eaee",
"3b7fc823611f1aeaea63ee3bf69b25b8aa16ec6e81d1afc39026808fe194354f",
"1e5a3ec4fb39c1c5c231877da6a09106041ae5d01f6f0924317619e7aa4be43b",
"16f85a0467c75ab411f958c27acd41aaa243a97fa39866ea836b6b2391e7b10d",
"a614a08cce34a685f1ae55960b2238e7436e80825b436d5ec7e9077fc3c61215",
"1dc754f1925916b903245f0378ba4cb9147b88bf493103855386deb7b9baeded",
"6c0e9016b9c1efe7edef87e505e2a1e03db1fbbcfdc3ed6b4f8aaa4b540ad98f",
"fbe2f7997f5288a4f6da13ccd6a08675b4e1524e32851916c80bf64547c2fe38",
"547fcc5c7e655fe7c83da5a812e6332f0a4779c87bf540d8e75a4edbbf36fe4a",
"5278241e504717007e3abee30215297cbf6ba8bf5e145e5f73f07db955c9d12e",
"9e02ef62bf212188aab2ad6a5a1b9893707a11d08ec2c39f087f1e8efe780797",
"1e7e09f47f25b0f3e8c7b348fea256ec4d4177c12c8c8fffeea2e3a8396567a8",
"b8469b16b1d60861ad19fb6b720efbf8686795458ee8640eb34c4b48efaa351b",
"554a9ea5dff8e3a6d2978b2087499adbf0b683958eb0d9b9946e2e6093edaedc",
"33efb7f9d1f5b77ae8dda72c83d1f1d5669d8101f4100d10725e1a72dd4edb65",
"b9e76546ba06456ed301d9e52bc49fa48e70a6bf2282be7a1ae72947612023dc",
"7923c60ad5ccc4bbc763e0d10cccdd35d0e7ad324b0f423a1fa8e97078557931",
"2d5b6404df532de082d9e77f7f4257a6f43fb79bb9de8dd3ac7df5e6d4b500b0",
"cd0ea239c10e2dbe12e5171537ff0b8619747bfcd8dcf939f4bceed340b38c87",
"4bc24e06601229868a0061dfca7b0c65acb3af300a8bb4a89e506d0bd204d3d5",
"ecfa3c5c82d589c867c044056f75d6cff794f1886d5ebcdd48ad851da47adae4",
"b0c9eb8db72991857e8c22e3dedfe4bd2287ec62292c03f2ea7e094d8799aa79",
"644aa0bf6f56b8457bfb1fb159f32b318c9c504ec0d956c7314f2f3de2de8126",
"c6f7077f1699d50cf92a9652bfebffac05fc6842b9ee391089d959b8ad5d48fd",
"8f53d7490d373d97459a0ead7ccb28557decf4a5df46f1289f9daff8c01cee23",
"5778420eb7247fe5137645a5c9f9c5a6621fea979066ffc7bc13445eb5f5cbb5",
"6efb74e66b7ed7fb9fb7b8b8f12e1fbbabe7f45823a33a14ac60cc9241285536",
"079d727bee3d805e24758861ea4d028b2e6a37805f8db45bf8045bf900099650",
"06fca9f06f74cf86a16fe4c2feec508700643e2b105b519fd93d35332c51ad53",
"75f457569d7027f819de92e8bb13795c0febe9750dc3fb1b5c42aeb502d0841d",
"6f9b0f6990bfc9466769c4d60515d71e2a0684616836eee542dad40b31d37e2d",
"dba3fb1babfda48b7a44b55cb3daf8319a8030dc0513c8c4946436b88cddde06",
"31da2214d943b6db29848bfe7e3cf8ec0380014414f06cddb0eeacc9af2508e2",
"217a1a2704b87e63b32529f922df3ac87c5ebb9881630ec61f040cf8cf881286",
"3f503eef50d5b9f73af8d44ed380e4a3090e2c63631bffa9cd919bea38356a64",
"b1429477b8d90a3972ebbf1417a05d064c6bc292e075f65088fa6b22a6b42768",
"9f807153876ccb1db650a96fb7ada5a1dbaaa0dc3f22fd3fcf545204aeef43f5",
"5b380071ce7f87ea7e5c8e7fa42b8f433ff83fc7b3f9940f505eafbcfdde4897",
"afb18dfa9cdbc569bfe32a50570fa852344325ca8d521dddaee33a0913281dd1",
"f514ef7d18da12ecfce55c964add719ce00a1392c187f20ccb57d99290720e03",
"b22fef18cbf5eeb5d79451ef9c4cda28efd47fa794a2bc7d04495ccb1bba6e1f",
"f87d7e594c12133de18296f9e4a574c307b3b7f1c39f0806fe7d1992f6ce58ed",
"09d6f0c84d7135d58fa1239442852303669bd79e5023fcbb58463764ce517e64",
"470be0e81485a5ff4d430dab3c7b26c5c74fa5223370a63d7710907a619c49d7",
"50a9326de0b1aed1b364bf02affc4129fe320e27438e471acbb0605c81ab87bb",
"e998cd0639d0167fb71d3fcc1c140dc6241f372884d5fd300bbec95e206163b5",
"db333633799ef7f9dbb2967abcbed657b6c67578459f2bc2bd88d5842a60f954",
"3f751c3eeb89898a7bc4946575279e687f27f043bfdcf7fc082f1c21381a49ca",
"7a78fbfec68c2b3ab6084f1f808321ba3b5ea47502c41115902013e648e76288",
"e11e3b9a52a763eb8ea9d421d840ed2d58e60975dac42eefbd2c3a1c82178ceb",
"4c32ed26972d9ad77fdf1c20fa3bd89c36ae86bfde40cefd8d908d480a5ecae8",
"50ad643263736d66a4e61e5bd16303718cbee7427703b156e33e4bf894bc4ca4",
"3d82e8f6cc6c096544bf33e4875a03f5600acff7ec467e150a1cc7712d214dc9",
"1dee50db69d7f42f28a722349404b418adb35645e1839b4cf2f4434b1698b791",
"8c7b73dc2dd8045e2b545ad68eeacbce0552bebb6b196971f2e2e8cf9bab4afc",
"f7380c11f6a40c7681d2661ef601b9305991141b6bf45ad70585da5cd5c75df4",
"6871d8df0d425a2b07ecdc30a3b53ffaef14d9ad2573fc1542694d654a9396c1",
"e005ba6cc009ec8d78ec378660a43cc0af09c1f299e6c6321ae25b3e28c2663f",
"a7fa4b91d1913a262d1c0b19991b80104d471e139f42464138fb900ddc495cb0",
"939ddb0c77d18ccd1ebb44c7a32b9cdc29b489e710c54db7cf1383ee86674a24",
"35b0335221cf5ceb30507366f742e64f5a55c04070c70d5eac9ebc1291b8d3ae",
"7c490afa9822333f558844548b81210d458c5d13407ba73d3e100d0088a2d377",
"13bb52c08b8c29616589b8531111ce671cea24cc350e4297dd988afb7a8bd512",
"84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240",
"c78388160281fc98f07a221ade1dd0472757afe54a7b0ae66c02c3693099afe8",
"f94362713ff95e37914b12d5d2067d83e314bebf1e5b49e9ff4371738c572090",
"c6ce4c595db9fd2a769f04c2b17747f172371e4b409bfc8df1dcc5d180d1d006",
"2e59e1a87995fa4aca34df446fc0e5452b12b0c15bb58fe9529163fc20ab305c",
"6fda5bce2882176bfbabfab503a1b5281329582d71c4be84bbb567e65c1a791f",
"e0df47e83aef0241f5cab162397786318a7dd0decd9e96a2a066c69470afc95c",
"1e0da54fdcb611d77fd1bd1deb828bba594596b147f6ce3a997d48bd40746dc3",
"b6f856ffc06f6b1d3cc6fbee75adffaed247825b50b929f1bd3483a65b519e34",
"000000000332c7831d9c5a99f183afc2813a6f69a16edda7f6fc0ed8110566e6",
"f8fdb8bd5045d7e9bc837a98906605ac9a0b4e71d2bf6867a74ad1aa4aa4259c",
"9e4d08814508c0f98ec0aff2884c5ccf5b03b9931fd14be7a959ae6a97c46363",
"5fb0091aaeb72eacdcbe9fb3a649ee3b8870454c2adb9275064848c8c9c0dd1d",
"d40023204289dae3ad69ecf5e64893988e108f7cbf3fca6df9786cc275d4627e",
"d908a4771ea8f5b9f1393023ad7783cfd3b83564afd181520d154f0420484b11",
"925ed95833a708dea46396d3075bd406e1d9485ca309238be2f7bad6eb2e93d6",
"0dcfcaac3d6f6796f7bc300a7d0d3b71bad1457f4e6b72f9cf490e1e55767be4",
"16b7e4b067cba8c86bda96a8d932e7593f398118d24bd8060da39ccfd7315f5c",
"e9d58d53b009ac6d3524c17f899149073f4e7db9ddf1aee70f207dcb685df0ff",
"ef72be13f5cb3c62fc5ab963f9c4c5effb5f2ec2400a40cbb33db211742e21b7",
"e8f5a9ed3480e0cd5b9797033e3b78c96ed9ea3695d4c3eb865be9769d410a18",
"cb4763237f0e04e73568b7cb58198f19dccb953a920e325fbf819e9584b372fa",
"d41e81dbd009554a2df052a1cc5077eeef04c554bccedc18526894873c78dc3d",
"1cb14ab335876fc9efc37d838ba287cf17e5adcccb20bf6d49f9da9695d52462",
"b75fd036342562bf1769dffa013d22909ae58b9795719cf4614b019798b30e01",
"a4f6914461c47395346e414942d2ac7de25560df241c565269f9ef14da045c8c",
"43c73e0ceadf599a6b7ac127093a929dd2d54961d7d20e3a5df295d0c90ccb5f",
"36c2f3b9de4db8fa01d7247ed442f96023a38242ec34a3f2c1042aee4f99c3d0",
"7039ce3410d3de6e94b8022ca5a6c513689efce1742051d6a576d3a376616d3f",
"fc874280ea20ea8e5c1c585696b80570bbcc334831b8f55877c2b324a1e7e99c",
"b17fccdf07ba2387f038b34426720cd68d112df923bca2bed8f8c309b7211155",
"38c1face36ad0a02afc3511dfff184a90548d687465ccfb1cbcf515f8cc86069",
"e8541da6f0332957cb2a09bf01da12ae3e71cdb2b8c0fb9d766e3314972db059",
"00000000057913d77ed857cc4ce4f79ef5cbde523e3f9154f88942dfe9cf7e19",
"3c559080f647074a638e9cc6d4c487a06bfab810402aab9a6794fb49a053153e",
"e3fe90d407dc2feb3d75d5e75f45724b6654838d552b939c22bc82e39922113a",
"6867d899ce6b677b89052602cfe04a165f26bb6a1a6390355f497f9ee5cb0796",
"86add3aba38a0ab83ac0b8dc44c6547e41ee2d6d9883f096c71d0b0e1fad3267",
"7f1bff247a85afdec212e7ad6702d0d657ff7b786da23a89167ae6b04b65eec2",
"4ca9928dc50ffd9136d8331bf9c9311162492f9cc18076282ef6683a47b9fc05",
"d169fab3ab0142c460da7bfffa97775bf14b695789916ed04d4b1f1ca1e5c0ab",
"6389be6491e7b693e9f368ece88fcd145f07c068d2c1bbae4247b9b5ef439d32",
"ca1d66e38e6fbf8ff8ce088f473457b3b8ee2a7b45e165aa62c7a074380e2745",
"28992ac21304a67647c003efdf680a5313566677b70cd77a99bc05c903a49701",
"acb2b6d4b22aa5c42ca8ebdc3113ae9e30c2b640fb8d46d81e0be0b49a844968",
"5761f717e9f4adbbf51af40cb2790f06be064f7652193ba360ea6aa0ba09fefb",
"9e5d0a8b53c5ebd6eb3e603aabb047d4b89fef16fa44fa9866683c5af90bf28e",
"7479839a51a3f7dd9126378ce8081767f1c08ac173e21768998945a28bee54ca",
"711c1ddfcea9af9c7d25e536a815564326f29e0734bbfe9eab2fabfbd95720b8",
"f4d89779148ccd245c8d50914a284fd62d97cb0fb68b797a70f24a172b522db9",
"1248addadce5dd58de00ec9b4124f263e2aabcd9257988a11a43093a258489bb",
"8906a8ad2c35980ecdde87aebeeb8f1fc9deb9443e76564d9baefa304599b740",
"9108cb00ee431cc0cf0de4f8ac4cb14bb3c5bafa25a6450b2ccb9f955414744c",
"1870bad2b82a55dc5747dcab95cd400ba216ec250200b1282ec4ef7ba39cd564",
"260f234c5616d5984da3037b9d7c5dd03ee11838115a3093452c8b6f1b2b186c",
"dfcf45f39d8aa0d48f4c5489eddfdd89b01b1ce358cad6570a1e13f2c5b01dc2",
"21580a98aaf64f7d66705abe7bf7a7acf4ee440fcf6b59d0b76e16217824d895",
"3a0392022aef09e2879e57a473e617f31d80549bad0641f6ec7e5441902de851",
"e9e64f39046db8f6a13f520d0259f301481e8c10570f1656c7f7e7572227e000",
"fcfd0eadebe6d439045c476d1da242d1e9e85877bc5ec1039bd644bcf5ea78b0",
"60010e9c4f3849362e5c78c6af42651318a3811fdaa1eb2a517a19fdd30fa749",
"9710dbd5ab8dd29cc91c6cc954932fbd61480886bdd816a60cced54ab2b37fa7",
"7f5c2b4e48a0e9feca63a46b13cdb82489f4020398d60a2070a968caa818d75d",
"62f6a8a347fea437b744cc747296cd4a8a5049c13f4e5c4dada39b5b249663b0",
"dd5e0ac3b0e89ffc9e0bc51604ab04480ae532a7104c649f3f8098cfdf9127dd",
"e682494211a293c1d66a2fe8a97b5a5155516ae475e1a9ffd4f58689a3f54fc4",
"843f283727b977f3efcb6eaf7285bacc65f6a2b34b7239fb1afababdc04f857a",
"5b924c9e669cd2b0249da8a049575d58c3db6dd0c00c45fa450ee8749b8ac5a1",
"673d0e7cf0f762fbf4d06923ed641de90175d1e1654cca4cb56a1dcedde80db8",
"18905d0a5d623ab81a98ba98c582bd5f57f2506c6b808905fc599d5a0b229b08",
"df15bb7f6163b9209989632b02bae791e13431d1f56b6491f44827582eb44f4b",
"6c94c27c2bb3f51abba44b0c088d53805ee4f9162f3956cebc1d89d32de55063",
"91ea09ba13c114f14d929edd2da5629abf4439b7e4c0727a25fbe63cb5eb234d",
"803cc5ed330bc5b87ace85f1d8d2c256004101aeea309dd89e2dbd2dce9b114d",
"dad682d23b94ae2053a03bc263190b256418b86f806d119aaaa63c7247c3d404",
"7b3f7803750746f455413a221f80965eecb69ef308f2ead1da89cc2c8912e968",
"87e98bb670527d44379bd73a6c920afeb115297c0c0650cc182138388d6616f4",
"34af8b767587351a5dd76f57a1b7aae09d90cbb20c29e6ef45f3be3d2c45fe2d",
"9d70fd73f8ee51789748c1d15de2107a3266a30fa3b072880537ce23b53951a5",
"f28c05fedd55e8bb20b7a329c803a5c30e87102010730436dce149bdbffb2e44",
"a2d9f796461e3926e82d6ff02661be5fc57d3d6b3b31b6aaf76344db8280e331",
"548ce7c9f49011f0046fa8f1a22ed1dbe568778bb6d9a4cbcacdf0ccdcc74666",
"ca4ef0d885f25c5b1aa6d424f591b1b7a7d37af1cf58eaaa21a6e0d584e65287",
"b8b43d56fba9c6d99c8cfa18ad8f7222afb1a791b734c76d0c08b1c1e01e1048",
"435d0addfa045737179f6f2d6ba975acf3c5736845b97f05406be1bca9b3bb5b",
"fbeb2be7271a14196a8426e78ee4c747706be2424392b036f5fabe44331f55e3",
"8c795a5c58f8d7154397d292ff14a781240f45896875abfd44acd68579a9496d",
"311bdd272774bb71b41e62f047edde3f4a4d7b5b60cb8378910042ccea3fdc10",
"3d97bc26c0aa94269e30001c18b9661852038a6c50c345e0161d1b5b6aa0d1fa",
"85a8679df872002a2701d93f908d9fa41d82c68a42a253ddb5b69c3881ad3f10",
"efba4c3bc34558d20ff0a433dd81a0fbce0c3734d7b579d6d020d8629bbdcb79",
"d7607464225c8ab610da99495bc70c8a3a45a03f8a22a95f06fcb5bc421e573a",
"7cc328a08ddb2afdf9f9be77beff4c83489ff979721827d628a542f32a247c0e",
"47f387cf194fde012199db1e7e10b7fadbc9ec4f4dfafc361fbdc09c072aaa65",
"391819e2f2f13b90cac7209419eb574ef7c0d1f4e81867fc24c47a3ce5e8a248",
"864d087149c8395df5ab76db9bedcb1178ec78f39c18a3e268539b82b9cd0f6a",
"71ecabd8b6b33548e075ff01b31568ffda19d0ac2788067d99328c6de4885975",
"7b102dc5f434bd1be02f5000b9695cef15ceb6665955a81d86009ff60f42d059",
"9dc2b6bf922f34009f3b293501a9f36959669d7882189bb2c58f44227caa6aa9",
"fee7116b333a648c9dbfe10384e6faf9e5da81aeefac854435ecdc744e797371",
"dd840e433b978795bb35a408bc61ef7e99688ba0b166f8cb4c7cebcb5318ecb0",
"45021250316112d36dbe5f00d814342a6fa9bb6fc1f5b32d35253ed6a83d9425",
"ff347d7a0607233a14d6669d92805f46405cc95b0620088c73272ba85cf36213",
"88c77fa5e2cdab3d12897f4cea8ae00843374e49bd197e4011e8d936958b13fd",
"17620bccf40b3bbc2c8284c294a2698d450870fadef2ecdd7c2cba93f0f6309d",
"2af01e0d6bd1b9fbb9e3d43157d64590fb27dcfbcabe28784a5832e17befb87b",
"ab953547fd84a8dd8d1dd95283f2b09b6918d861e1bd570052afbdf8365b8ca9",
"26bd32c67232bdf16d05e763ec67d883015eb99fd1269025224c20c6cfdb0158",
"f901616f00a63f4f9c7881d4871a03df3d4cee7291eafd7adcbeea7c95c58e27",
"b6c29682e195420f56ffba98f83030c9ec0e579416a35867660fad2c9614c184",
"02748827a1016a393c780aec1d96191a3b8df1c397d09351029cbb25b2d83443",
"00000000964f13582cda177e102d9274cc41f5228686956c7cccf07985013e88",
"ebdc02c6e0510b15e56bf554c88f8d8e9c3f68d7677a65f8dcebcf951eeb9e52",
"1f08483005471387f911df54814334a9f23b13a967568cbd65315bf691bfda10",
"d94a32534797563a10ed43ad43a18eb64fe68a9ce455bd01eb98f91138a40c97",
"63acdbe3a0346cf9e89675689fc55318b5c34e484c2511c5e7ce4dd13460ae39",
"8f9efe5e5b5b13fa967568f037811e1d8fa8ece3101a8c65ad0a5d75665fe6da",
"c2d1d3a7123084ea702baae00d0907dd9a17506b627fc7fb4ede1eb0c8549485",
"e7a95b8b85f54a5271f2f73f176d40d7ff35653abe9e5db82ca292ef25d83e5c",
"8fb140b4e8ddef97ce4b821d247278a1a4353362623f64021484b372f948000c",
"92f31545254ed2f9ec4e91038768f80c60a0c5e22a6f007eb6cdfa4b20706e75",
"98b62941fc20cfbb094e54b33593afa0090e43f263e92689a0b66b7e97cf39de",
"31312140ea93476d078607bc9e176ca0b1464ea104a7d2e703bae5aa2471509b",
"75c48bcd0f016de9085f38ef32c1f1ddd1636194beb2db996743429e3e80b22c",
"273d77da30025faa363e40b61155afc83d9bf76b77a937c23357f3fd92f85aca",
"308e8d827bf138466b5d99475337ef12ae33715baccd198f46ab1404a99152f6",
"92892ba97a81b125e8b8c6a222c833019825d980cc3f7d9156bb565d895521d1",
"6b3133a52e787476efc45fe76710e6afa369ef3c4ca7723dffd064f6290d8d73",
"12cfc2ec5a39a39d02f921f77e701dbc175b6287f22ddf0247af39706967f1d9",
"06da2d9edbf64f040a0210363cbbc0e74d9912415c3ae27c75d06c470f5ab6b6",
"4b896a24c4c5a65b1fec821eaa34ed259e351a7e3620901308b580124a75164e",
"7c8f4ac0324b92570516c6c57d8c7ac8ccf51b8630b20d3da3e66b9cb70b7fca",
"d7f14d8d3ebe2651cf10eb8b99b87402f904abee26e32a0646485a61afd3176f",
"d75e8cfd74940eed5758ce4fd8791f7ca0bade69ff271fcb67145d50d4177ba2",
"3c0a6d434e28f68a4b31d38ece15b33c1518aa58299b7d315426d716c5493ed4",
"43b4a21dded6d5e93fdb38c2b1bb18067c2024ae4698c2d714b8341cfee87233",
"dee97518077808091745015441953ad814c22d4eaeaba6996385a3d7dc3d191e",
"e07773a92a610a28da20748fdd98bfb5af694b0cad085224801265594a98108a",
"7f1b2d20466fd5ff836c6bca1a0849f9c77162cfc00b7e708a9142763c021673",
"d258eb7757854ac140b48327205ab0d49ebd8003eb8430f76639df0500cf4aaf",
"df4cafee85f79769545851db202a8856f82dc917548093c760f3094896e987b2",
"37ba1761c1e406e4f5c4b1c8a4c67d13eddd62bd91e961119138a4f7ecd308c8",
"bc815d16028c8b012103018596386b77cbd6ef27f10f1992ada4986104df0cab",
"623ed218de81311783656783d6ce690b521a89c4dc09f28962e5bfd4fa549249",
"8582d172e1d6d8335d959929f73e5c04ec37bab924eaf6c59c66bfebf5f676cc",
"cc76679480a4504b963a3809cba60b458ebf068c62713621dda94b527860447d",
"4753d3bc785c1aa5f6188d03f0a686d9f3e1875c2b5fe554e3005e94415bb591",
"1bc35d648dab39e6cf78a78920e788655f31cec5d7c138dd6623064515434292",
"7dd1b95459baead91a6c5240e37f5d4ebc1a79dad450cb17229fd6e874a241fd",
"a6223de378ea5daad05577b87c9c07eda41b171b02465a6e64f9f4356f46025b",
"6f54ca69a51cbad9e49d955dc5ff84fe45d0baecbc4c2801eee2b707c4ab6d8b",
"ad49127db00a4d123198c944d248c611df299484d5757675d9d08bb579dccbcd",
"b9200c760dc2a151da379310e2eafd09536bc563acb7199507e8772eb08575b4",
"957033b60b95076e405ac1aefd8bd4437074431389fe59092618ac66c93894d1",
"418a17eb8c7a403fb15334264f85fb7a35d33e1cfc7d6bed610931d1b64b2b3a",
"f82aeed49547756ffa1a1334ebc7465e72ad24609f8da773046775c84ae85952",
"ef3ec783a580cc5c96c71baa5303f49acc5c4fe240a499ef70ee379fb8e9526b",
"30c1e4e2ce204a74f35f402862cce22273cb763d9d4c984d57ab7f07e944c1fd",
"449326b34b1dc4786d3ad9b52cb7ac23c6a914499476e1eebdb82dcb36085563",
"b488b594d84bb3e7c8421a4b91b19a006dc13d0c00da304a0263355d02195f04",
"eff26639ec9a8098b77109021e2626d2c6402f1291b0f3d83e1911cf749caef1",
"f72150c457007eec5f5510b7a7d49dbf01d28c055df6575c85ac8e0f9efa6400",
"bafa4121e25170867c3346ff55c0413d1f41b7c83ae1344bd73d5105af6063c5",
"469179475d290add06ac15460d08e370c06deb2cffe7fbd96ad6694b948f0683",
"af2f682f512899852c6654ff065aa405a41d15e2b1cb6c9173123605744f06e6",
"83bba55a7884b2e0936bde9525a51392912e3843502954bf98ad123c16355b3c",
"4ee021c9b2e631636d6ec65cad79ae910d8b2a3bfa98dd1380273cfc6c727cda",
"deba271e547767bd6d8eec75eece5615db317a03b07f459134b03e7236005655",
"5b54d5c6b7b869ea236e2d61f9b07c72a0a71e9a317df93e469aa08478f909f1",
"13bc95d921c8b6b26cf35494964daf86f9312fe50924483d266827979d80897d",
"975d0ba9c395954e0d06a801aa27bbd7a631d9a9a8a461df191328cd1505419c",
"47a513866d5dc08470124af426a318026f87998e471a142e441d027b35de5d60",
"472be9f9264eea1254f2b2f7cd2da0c319dae4fe4cd649f0424e94234dcacf97",
"cdb54315a64dce0d2b4fae57133707728d1baa3998684db7082ea0f40338c0ea",
"5713e796a988f0e1cc66228db7a706cbd11e9d3518f3c982a0dbda6097590678",
"5220b963482c7a269df0a4dbb73ec8ab6634108c97bd1903c58ea8636837730d",
"f597dd19ddac5abfd0b65955e58a2673ebc1a604d30c85d9be65c851f9d803de",
"e8c7df1dfef1d97c1acb27e77ef3262faf349bfb333642b778fe15c48bebae52",
"d625f5a9137cf6a0bcb2c8527a455f3f33f71b8cf52ed436917b57d1e4b0a304",
"76482d5e45bc5a595a1501ae4f603ab52191948ebd7899cee9e4ab9e4ecb9987",
"bd2a104e0674346fb0e3963350410f082c1a81de7600b6d51d2bdaefcc2fa729",
"be6e23eb5bc4fb578e9df8fbaee12a6f8ed52f39a72bb18320ed3cdee59c7fcf",
"9358c67695d9e78bde2bf3ce1eb0a5059553687632a177e7d25deeff9f2912fc",
"c8df6ae886c711b0e87adf24da0181f5081f2b653a61a23b1055a36022293a06",
"9ed3a7bb4cf149fc05156bb3c27f083040b8d67e27a46cdc2a22a60b8b26af89",
"c1831fbe2653f76164421d57db6cee38b8cef8ce6771bc65c12f8543de4b39bf",
"4680dbb0b1c7e5ec8f238c6d2f591528c61e2b5dc9876994b208018d57bfd716",
"9a7b7cbe37b2caa703062c51b207eb6ec4c42d06bfa909d979aa2d5005ac3d65",
"52b9e1aca3df269710568d1caa051abf40fbdf8c2489afb8d2b7cdb1d1d0ce6f",
"5d8cd871f09822c3ee6904b73a89e1fbea91bf37009a9023af690d9ae8578dea",
"5e3bf6499074af41bae38a08eda64245d77c9a416b44cf98792b8c900ab9e009",
"22f457c1865117b2f64c1aca0b9df69ab947b20d766980ca6bbe84835749716b",
"5e5fc1434c928bcdcba6f801859d5238341093291980fd36e33b7416393d5a2c",
"8781706462080b2f1f62f42f9ae426e7b571dd5d4f0cce4249e8a6f0bdc694d6",
"75404395df72580bb3f25cd58472b23cafa4e1ff9102004ba7883b72c4c40e6e",
"4564d670cc2b516c0173a27814abe5d8ca60abc8f883ac82b47b5c980877484b",
"a514ab3befb752faaeb536192d04941dc25b88458e89407f9539bb89f39daf78",
"af314f3920509af44417a7c2cb0150632d2f9523e0886988a2b969962a5d0bbc",
"55a7b4888739838ab6fcf928f5fef89f46ff62a16c5c50a42dafe7086dd762c7",
"f480bda9debbedbf3e97daa9057a7e43399ccd5f29f93f425446e2b492c5448a",
"444960e888caa7015071c69e45e954ccd336cffceaff079d8563bc1a62cf6771",
"7e5da8523278d19681c43993827335a92f02030d91433d235d021bcd8ecc2d70",
"804fa01a6715b03fb6092ba566a7c7ad358a5ed419dc8bcee09a30153e95e04d",
"680f386d8c42b072319e3522b4c9e2c5e07c38fe8abbac49fd6d7bb680277efd",
"dc4cd086cd7ce5b1832adf4fdd1211289880d2c7e295bcb0e684c01acee77c06",
"ea1e3eba0b2609e9f67cc6a02ab147f0e79ccd44e87008a5afd17ca49e781dc4",
"faab95b63b736cfbbc6f91cf682cc4fd5c73bf26d052c73baf5913a01ddf99c4",
"f70b24684aa1b8419d6efe8f8aa9c4f547f5dbc3b9c498a766823a377a94ae32",
"9065607855a8aafb49dcc2671865dba575e7818487f3ee65e28cb53003913f7a",
"586d22080c30b1839ca8c747a1c16b5838e51f271322f2af1c72ac7fbfb1d7b5",
"fa6afdb459873dfd0ce7f00557dd405227ca2a0ac56e7883317d01f2aee9b046",
"28e179f63b9e5aa05002b7918b70d81f77525849a9db2f9f39474e34a5fc7af6",
"53ac90ebaef84b0439cdf4f1d955ff1f1e98febc04fb789eff4a08fe53316483",
"09f2e9a7def3a08b992d9fc4c16f33633f58fc46197d01f9b7e2afcdb79b101a",
"87fedb9fd2cd0dc569fe07a83da3dc8b365b07ab6940a8cb4984d9600da83419",
"f6499fae7651521774864664c44dd97d10489d69b222ff2596614cbb15c39278",
"f91f2529318cb52308613485d36328214946679c96458c9c8f966fec347ea758",
"676e827c056230b30887c76b6971180a3ad033a182814b43ec5aa43ee3bc60e1",
"87816efbed5f4734a3f75c90dae23778eefa476c43f920a6cda7e534da4599ff",
"a6a6dc4d4607fac3b86b22916398a05ef33f38cae5feabec66832ce029bc1755",
"0d3f0394b117eee4832bd31ee415733d0386928c7daae05525483ff8c9eb046b",
"747adf8e9036ed78b47eca762bf80bc41af34df6da7bd44876cf2d27e6b7dd64",
"7386fd93c25635fb2194bbde54cc19ed69ffeb448e6594c618db33c04d8717a5",
"ca1a73104ddbc1c2065b491f9fc68d8e752c1505244da41873307c1d9f4c21b6",
"efdd75e5bda78d9678eb43acaeb7e2aeef52ce2c1442cbce375a358ec1dd2628",
"37f2654c028c224b36507facf80c62d53b6c2eebb8d5590aa238d71d3c48723a",
"bc10bd1557c52725ab7a45e193b8db08fcd889c7b3c89294bbb8df1ad693c8ad",
"be0635e88a6ff009e39514130cbf796ad880495aaae1e8bda1f49f5b7f1272b2",
"535a8eb6063eb4a1068909d25012671dd5c37d1ff80561384b75c925fd4d47ee",
"ad45c7530c499495041d7d4a958f5a4e4f846a44b56db461bdc73fc18067ee80",
"87053eb525a888a7808375f0f6701dc456c98337aad3c2b7dd3c8963d38fb741",
"1846fbe8912d1a97d70416267e3789893362a5157d5ae7f40a8840bf3f6f2232",
"03e10daf1b88cb47bb20d92c19c382e7087d9eba8a1145773ac13b16d65536fb",
"5ff8a870580c78f567f36509f3738ef813a635c6f378b80e9442472b4eb8eff8",
"221d591e1d3122ca9e46d112e980c671685fe3eb0dc978c78d6c58ecd4e05c50",
"04c1dfa8a501ba63ab5fe4a88e99ea09596005745db130f67ce9d7b92c16258b",
"3be0212ad95d88956d94a5fc5c67cc23c4935bc2027684a4a57478f82e0ce95d",
"b66eb6f62cc19c034c3da1fe9aced8346f7d5e2aac0fe003d82435a39cef2da3",
"419bd323c11e188c42a167c6767705e962bd72e1bbdc9e3032da8e079fd3a10a",
"d9987652d3cbb2c0fa39b6305cc0f2d03ca987afc1e56bc97a81c79e138152a8",
"06345c4bd52067f555479d5189a04271c7599a9d46e7ab4b6b5b57c7a5f161f0",
"77ce56f89d1228f7ff3743ce1ad1b254857b9008564727ebd5a1f317362f6ca7",
"091b7eace5aaff909726fb04c508f58dc11ac709de17e5636fb1db4b29919342",
"6c887397ed199ccb113af7989160eb0e89ddc4ebb93fc4ec1122754711d375bc",
"1d77d27d2e99ac3af1c6bf0d59a24594242c60e963c2d206eb0e2fc6744bbc46",
"b377757fa3efd9d4f56170bd08508872b13680a000be9b19f3c0f6fea3d861bc",
"f717d66780a2393589d4e84bf3010d860790234549c2f5260706226905d8922a",
"8c54c9b34d507291813c410bf54e9912f9a3e2f820cc2a446ec17e6540589956",
"88e9326a185488072480e0383d2968f7c2f1bc73ef7ad9999f400459afc053dc",
"c13b48ff647b105a5c41eb7cb48694f93ce903e873fab83c2b96efa7bfa1eb13",
"927b3039555c9b1bb87b9af63416ef51a57051d04d2d07cb6c909d9ee6256385",
"96ba39cf2a9c6576d761864afde2ae150d93e22ba5ec7029617a2daada3de51f",
"3b4164353e9bf18c261f4a90ba64efd5cc2e87eb9e8ab8f4a62ad366af835bce",
"34a199b925388816138f8953e67b5ec6e323c30f9269403627316b39a84ea18b",
"1cc11d55093c7d20484c1dfd0514b2010c018ed1e43d7505146f86fe9b97dd54",
"95fbe89f6ffe485532c4823f757ff6635a27bb7a7bb00ec5f49e5cae88b8a530",
"f6ca76815f1370e7ebdb746b3d3a1d5f11d28a2023069345ba1a1fe1c1d10f9f",
"ce2fb8588e047b61e738bee312bf63e03f9c1fd849ab67ab4c5f9b39643d5ffd",
"922945779f93fd0b3759f1157e3d9fa20f3fd24c4b8f2bcf520cacf649af776d",
"e14b2e4e32a1fe9f712dd037a4d4b7154efe18708035efe64d8a18b829a994cd",
"36ae0a7f4bd784a3b128f64d823220bcd8a3f6535bef7563d98bf49087ef66fd",
"83c4be8babdf9525a4a7100114e35111d475e8bbc28f2168208671ef13d57889",
"5257f6d685301de8792099a0b173c3f57f42750612dd876fa0955aaac90192b1",
"b2d670de53b27691c0c3400225b65c35a26d06093bcc41f48ffc71e0907f9d4a",
"a733c2cc75e4fd3a05b35747335574df6a4f198d8e9ccab1a76fb271a93aac13",
"c03be92f51cc5ca98b26bb279a45d670d0ee3c8e0779fa791b22d33f88ed4c59",
"ab7bf21bfd569382ffa03e741fc66c6f71bd3cfa73986e954e4e016d4a33a2f5",
"da07617922ee01842e0427548ec6117d712796aa321a59d1eba8a67373c34f27",
"51fc7209201b1414f721c3d2d2b3430699b1e6317716c5182cc1d7945072e358",
"8dacfe2a58663e3cc6f2de1f2aa651093549524d052d3926823376268ba8d974",
"5c0775b1ae0a5140da9599aa9cd1c5beea55c2d55a5d681808525eb5fce37b32",
"e73a03150acca50c854ef768bc5093cae4727da9b89ee6e976527f503d6a3e76",
"3d32d22c7ae88d503f3c4236a89dfb604015f55ac19548588fb4934aea76b3bb",
"a9b9525992a486aa16b3c1d3f9d3604bca08f3c15b712d70711b9aecd8c3dc44",
"0155373ac79b7ffb0f586c3e68396f9e82d46f7afe7016d46ed9ca46ba3e1bed"
]

49
run.ts Normal file
View File

@ -0,0 +1,49 @@
import NDK, {NDKFilter} from 'npm:@nostr-dev-kit/ndk';
const ndk = new NDK({
explicitRelayUrls: [
//"ws://127.0.0.1", // localhost access is be whitelist
"wss://bitcoiner.social",
"wss://offchain.pub",
"wss://relay.snort.social",
"wss://nos.lol",
],
});
await ndk.connect();
function getName(profile: NDKUserProfile): string {
if (profile.nip05) {
return profile.nip05;
} else if (profile.name) {
return profile.name;
} else if (profile.username) {
return profile.username;
} else {
return profile.npub;
}
}
const premiumPubkeysFile = await Deno.readTextFile('pubkeys.premium.json');
const premiumPubkeys: string[] = JSON.parse(premiumPubkeysFile);
for (const subscriberPubkey of premiumPubkeys) {
const subscriber = ndk.getUser({
pubkey: subscriberPubkey,
});
console.log("Subscriber:",subscriber.npub)
await subscriber.fetchProfile();
//const subscriberName = getName(subscriber.profile);
//console.log("Subscriber Name:",subscriberName)
//const follows = await subscriber.follows();
//console.log(`${subscriberName} follows ${follows.size}`);
}
for (const foaf of follows) {
console.log(foaf.pubkey);
}
const test = ndk.getUser({
pubkey: "69a0a0910b49a1dbfbc4e4f10df22b5806af5403a228267638f2e908c968228d",
});
await test.fetchProfile();
getName(test.profile);

63
scratchpad.ts Normal file
View File

@ -0,0 +1,63 @@
import NDK, {NDKFilter} from 'npm:@nostr-dev-kit/ndk';
const ndk = new NDK({
explicitRelayUrls: [
//"wss://bitcoiner.social",
"wss://offchain.pub",
"wss://relay.snort.social",
"wss://nos.lol",
],
outboxRelayUrls: [
"wss://purplepag.es",
],
enableOutboxModel: true,
});
await ndk.connect();
//const filter: NDKFilter = { kinds: [3], authors: ["69a0a0910b49a1dbfbc4e4f10df22b5806af5403a228267638f2e908c968228d"] };
//const event = await ndk.fetchEvent(filter);
// https://ndk.fyi/docs/classes/NDKEvent.html
//console.log(event.rawEvent());
//console.log(event?.content);
//console.log(event?.created_at);
//console.log(event?.tags.length);
//event.rawEvent().tags.forEach((tag) => {
// if (tag[0] === "p"){
// console.log(tag[1])
// }
//});
async function insertFoaf(subscriberPubkey: string, foafPubkey: string) {
db.query("INSERT INTO foaf (foaf_pubkey, subscriber_pubkey) VALUES (?, ?)", [foafPubkey, subscriberPubkey]);
}
const filter: NDKFilter = { kinds: [3], authors: [subscriberPubkey] };
const follows = await ndk.fetchEvent(filter);
follows.tags.forEach((tag) => {
if (tag[0] === "p") {
const foafPubkey = tag[1]; // Extract the FOAF pubkey
console.log(foafPubkey); // Log the FOAF pubkey
// Insert the FOAF pubkey into the database
insertFoaf(subscriber_pubkey, foafPubkey);
}
});
// npub1dxs2pygtfxsah77yuncsmu3ttqr274qr5g5zva3c7t5s3jtgy2xszsn4st
// hex: 69a0a0910b49a1dbfbc4e4f10df22b5806af5403a228267638f2e908c968228d
const blee = ndk.getUser({
npub: "npub1dxs2pygtfxsah77yuncsmu3ttqr274qr5g5zva3c7t5s3jtgy2xszsn4st",
});
// https://ndk.fyi/docs/classes/NDKUser.html#follows
const follows = await blee.follows();
console.log("Number of follows:", follows.size);
for (const foaf of follows) {
console.log(foaf.pubkey);
}
// Will return only the first event
event = await ndk.fetchEvent(filter);