nostr_cn_dev's avatar
nostr_cn_dev
npub1l5r0...m9jm
Developed the following products: - NostrBridge, 网桥转发 - TaskQ5, 分布式多任务 - NostrHTTP, nostr to http - Postr, 匿名交友,匿名邮局 - nostrclient (Python client) . -nostrbook, (https://nostrbook.com) 用nostr在线写书 https://www.duozhutuan.com nostrhttp demo
nostr_cn_dev's avatar
nostr_cn_dev 7 months ago
现在 发帖 看帖子 都困难了,你们呢?
nostr_cn_dev's avatar
nostr_cn_dev 7 months ago
NostrTrust 专注于nostr社区的 relay可控和用户的可信任问题, 通过积分算法解决用户的信任体系。 安全可控的nostr社区,提升社区的价值,解决有效社交。 当前的nostr社区relay里面充满了 垃圾内容,大量垃圾pubkey在不停的创造污染信息。这一切的源头都是他们利用社区空子来产生无效内容。 很多relay为了公平,允许大家随便发送内容,这原本是一件好事情,让真用户很爽。 但是这就给垃圾留了机会,如何保证普通用户的权益,不给垃圾留空间。 需要从2个方面入手。 1. relay要有一定的管理入口,管理员通过管理程序 封禁用户和删除帖子; 2. pubkey的积分算法。让优质用户有更多的展示和推荐;让垃圾pubkey消失的无影无踪。 NostrTrust 致力从这2方面入手来提升nostr的用户体验。
nostr_cn_dev's avatar
nostr_cn_dev 7 months ago
nostr 是一个开放性的,强技术社区,很多创意在这里都可以实现。非常的有吸引力。 但是 不接受政府监管而且没有一套 删帖管理帖子的条约还是不够健康。 违法的东西还是应该删了。应该有删除的规则才更健康。
nostr_cn_dev's avatar
nostr_cn_dev 7 months ago
nostr-tools 删除了 nip96 import NDK from "@nostr-dev-kit/ndk"; // Create a new NDK instance with explicit relays const ndk = new NDK({ explicitRelayUrls: ["wss://a.relay", "wss://another.relay"], }); 删除了 websocket-polyfill的依赖。 为什么? 今天这2个问题要搞明白。
nostr_cn_dev's avatar
nostr_cn_dev 7 months ago
image 复刻ubuntu桌面的背景图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>三色渐变波浪背景</title> <script src="https://cdn.tailwindcss.com"></script> <link href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css" rel="stylesheet"> <script> tailwind.config = { theme: { extend: { colors: { accent: '#F91171', purple: '#940ECD', orange: '#F96711' }, fontFamily: { inter: ['Inter', 'sans-serif'], }, } } } </script> <style type="text/tailwindcss"> @layer utilities { .content-auto { content-visibility: auto; } @keyframes wave { 0% { transform: translateY(0) translateX(0); } 50% { transform: translateY(10px) translateX(5px); } 100% { transform: translateY(-10px) translateX(-5px); } } } </style> </head> <body class=" "> <div class=" "> <!-- SVG 波浪背景 --> <div style="top: 0; left: 0; width: 100vw; height: 100vh;"> <svg width="100%" height="100%" id="svg" viewBox="0 0 1440 690" xmlns="http://www.w3.org/2000/svg" class="transition duration-300 ease-in-out delay-150"> <defs> <linearGradient id="gradient" x1="0%" y1="50%" x2="100%" y2="50%"> <stop offset="5%" stop-color="#F78DA7"></stop> <stop offset="95%" stop-color="#8ED1FC"></stop> </linearGradient> </defs> <rect x="0" y="0" width="1440" height="700" fill="#940e73ff"></rect> <!-- 协调的渐变定义(全部基于主色系) --> <linearGradient id="linear-gradient-r0"> <stop offset="0%" stop-color="#ff0005ff"></stop> <stop offset="100%" stop-color="#ff0092ff"></stop> </linearGradient> <linearGradient id="linear-gradient-r1"> <stop offset="0%" stop-color="#940e73ff"></stop> <stop offset="100%" stop-color="#ff0092ff"></stop> </linearGradient> <linearGradient id="linear-gradient-r2"> <stop offset="0%" stop-color="#d4006bff"></stop> <!-- 中间色 --> <stop offset="100%" stop-color="#ff0005ff"></stop> </linearGradient> <linearGradient id="linear-gradient-r3"> <stop offset="0%" stop-color="#940e73ff"></stop> <stop offset="100%" stop-color="#ff005dff"></stop> <!-- 深粉色 --> </linearGradient> <linearGradient id="linear-gradient-r4"> <stop offset="0%" stop-color="#ff0092ff"></stop> <stop offset="100%" stop-color="#940e73ff"></stop> </linearGradient> <linearGradient id="linear-gradient-r5"> <stop offset="0%" stop-color="#FF3D4FFF"></stop> <!-- 柔和的红色 --> <stop offset="100%" stop-color="#FF6B6BFF"></stop> <!-- 深粉红色 --> </linearGradient> <linearGradient id="linear-gradient-r6"> <stop offset="0%" stop-color="#FF7E7AFF"></stop> <!-- 略带橙调的珊瑚红 --> <stop offset="100%" stop-color="#FF5262FF"></stop> <!-- 比r5更明亮的粉红 --> </linearGradient> <!-- 新增上半部第一条波浪 (最浅层) --> <!-- 新增上半部第二条波浪 (中层) --> <path d="M 0,700 L 0,100 C 53.50515463917526,95.87628865979381 107.01030927835052,91.75257731958763 168,100 C 228.98969072164948,108.24742268041237 297.4639175257732,128.8659793814433 362,135 C 426.5360824742268,141.1340206185567 487.1340206185567,132.78350515463918 550,135 C 612.8659793814433,137.21649484536082 678,150 742,160 C 806,170 869.8659793814433,177.21649484536082 928,175 C 986.1340206185567,172.78350515463918 1038.5360824742268,161.1340206185567 1105,155 C 1171.4639175257732,148.8659793814433 1251.9896907216495,148.24742268041237 1315,145 C 1378.0103092783505,141.75257731958763 1423.5051546391752,135.8762886597938 1440,130 L 1440,700 L 0,700 Z" stroke="none" stroke-width="0" fill="url(#linear-gradient-r0)" fill-opacity="0.22" class="transition-all duration-300 ease-in-out delay-150 path-0b"></path> <!-- 原第一层 --> <path d="M 0,700 L 0,105 C 67.94421944035346,98.44882179675994 135.88843888070693,91.89764359351989 190,86 C 244.11156111929307,80.10235640648011 284.3904639175257,74.85824742268039 347,65 C 409.6095360824743,55.1417525773196 494.54970544919,40.66936671575847 564,55 C 633.45029455081,69.33063328424153 687.4107142857142,112.46428571428572 736,133 C 784.5892857142858,153.53571428571428 827.8074374079529,151.47349042709868 882,144 C 936.1925625920471,136.52650957290132 1001.359536082474,123.64175257731958 1069,107 C 1136.640463917526,90.35824742268042 1206.7544182621502,69.95949926362297 1269,69 C 1331.2455817378498,68.04050073637703 1385.6227908689248,86.52025036818851 1440,105 L 1440,700 L 0,700 Z" stroke="none" stroke-width="0" fill="url(#linear-gradient-r2)" fill-opacity="0.265" class="transition-all duration-300 ease-in-out delay-150 path-0"></path> <!-- 原第二层 --> <path d="M 0,700 L 0,245 C 42.109536082474236,243.9959499263623 84.21907216494847,242.9918998527246 148,250 C 211.78092783505153,257.0081001472754 297.2332474226804,272.0283505154639 356,261 C 414.7667525773196,249.97164948453613 446.8479381443299,212.89469808541975 510,206 C 573.1520618556701,199.10530191458025 667.375,222.3928571428571 732,220 C 796.625,217.6071428571429 831.65206185567,189.5338733431517 885,206 C 938.34793814433,222.4661266568483 1010.0167525773197,283.47164948453604 1083,290 C 1155.9832474226803,296.52835051546396 1230.2809278350514,248.57952871870398 1290,232 C 1349.7190721649486,215.42047128129602 1394.8595360824743,230.21023564064802 1440,245 L 1440,700 L 0,700 Z" stroke="none" stroke-width="0" fill="url(#linear-gradient-r3)" fill-opacity="0.4" class="transition-all duration-300 ease-in-out delay-150 path-1"></path> <!-- 原第三层 --> <path d="M 0,700 L 0,385 C 45.83891752577321,405.78092783505156 91.67783505154642,426.56185567010306 161,437 C 230.32216494845358,447.43814432989694 323.1275773195876,447.5335051546392 389,436 C 454.8724226804124,424.4664948453608 493.8118556701031,401.3041237113402 544,377 C 594.1881443298969,352.6958762886598 655.6249999999999,327.25 712,332 C 768.3750000000001,336.75 819.6881443298969,371.6958762886598 881,382 C 942.3118556701031,392.3041237113402 1013.6224226804122,377.96649484536084 1084,373 C 1154.3775773195878,368.03350515463916 1223.8221649484537,372.4381443298969 1283,376 C 1342.1778350515463,379.5618556701031 1391.088917525773,382.28092783505156 1440,385 L 1440,700 L 0,700 Z" stroke="none" stroke-width="0" fill="url(#linear-gradient-r4)" fill-opacity="0.53" class="transition-all duration-300 ease-in-out delay-150 path-2"></path> <!-- 原第四层 --> <path d="M 0,700 L 0,525 C 72.49226804123711,524.3845729013256 144.98453608247422,523.769145802651 194,524 C 243.01546391752578,524.230854197349 268.5541237113402,525.3079896907216 333,510 C 397.4458762886598,494.69201030927843 500.79896907216494,462.9988954344625 565,473 C 629.2010309278351,483.0011045655375 654.2499999999999,534.6964285714287 711,530 C 767.7500000000001,525.3035714285713 856.2010309278352,464.2153902798232 926,472 C 995.7989690721648,479.7846097201768 1046.94587628866,556.4420103092784 1098,564 C 1149.05412371134,571.5579896907216 1200.0154639175257,510.01656848306334 1257,492 C 1313.9845360824743,473.98343151693666 1376.9922680412371,499.49171575846833 1440,525 L 1440,700 L 0,700 Z" stroke="none" stroke-width="0" fill="url(#linear-gradient-r5)" fill-opacity="1" class="transition-all duration-300 ease-in-out delay-150 path-3"></path> <!-- 新增第六层波浪 (与第五层形成明显对比) --> <path d="M 0,700 L 0,600 C 40,630 80,570 160,590 C 240,610 320,650 400,620 C 480,590 560,570 640,610 C 720,650 800,670 880,630 C 960,590 1040,550 1120,590 C 1200,630 1280,670 1360,640 C 1440,610 1480,590 1520,620 L 1520,700 L 0,700 Z" stroke="none" stroke-width="0" fill="url(#linear-gradient-r6)" fill-opacity="1" class="transition-all duration-300 ease-in-out delay-150 path-6"></path> </svg> </div> <footer class="relative z-10 py-8 text-center text-gray-400"> <p>© 2025 三色波浪背景 | 使用Tailwind CSS和Font Awesome构建</p> </footer> </div> <script> </script> </body> </html>
nostr_cn_dev's avatar
nostr_cn_dev 7 months ago
nostr 如何对pubkey做积分体系。对每个pubkey做评分? 评分体系是信用体系的基础。 只有评分体系+信用体系建立后; nostr社区才有更大的发展。
nostr_cn_dev's avatar
nostr_cn_dev 7 months ago
有没有一种可能性 nostr并不是不能删帖。他应该和BTC类似的一个有个网络共识, 达成了共识算法的某个 pubkey或者某个贴子。就可以被删除。 relay server 可以从一个链上去获取这个共识的结果。 垃圾的帖子或者垃圾的pubkey 就应该被禁止。 大家希望建立一个自由宽松的网络环境,但是这个环境也应该有规则,破坏规则的就应该被禁止。 另外 被修改的帖子,还保存在服务器上,他们被保存的意义在哪里,是保存变化还是保存所有的内容,这个有没有冗余的算法可以节省空间。
nostr_cn_dev's avatar
nostr_cn_dev 8 months ago
现在 yakihonne发帖怎么都会出现2个一样的。 nostr:note1kfrvap
nostr_cn_dev's avatar
nostr_cn_dev 8 months ago
image 新做一个模板: ``` <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>渐变背景示例</title> <style> body { margin: 0; height: 100vh; /* 线性渐变背景 */ background: linear-gradient(to right, #6620FC , #f3e5f5); font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; } .menu { position: absolute; left: 10px; /* 距离左边10px */ top: 10px; /* 距离顶部10px */ width: 60px; /* 菜单宽度 */ display: flex; flex-direction: column; justify-content: flex-start; /* 改为从顶部开始排列 */ align-items: center; padding: 10px 0; color: white; /* 设置文字颜色为白色 */ gap: 40px; /* 减少菜单项之间的间距 */ } .menu-item { display: flex; flex-direction: column; align-items: center; } .menu-item svg { fill: white; /* 设置图标颜色为白色 */ width: 32px; height: 32px; margin-bottom: 4px; /* 减少图标与文字之间的间距 */ } .content-box { position: absolute; left: 80px; /* 距离左边80px */ top: 10px; /* 上边距10px */ bottom: 10px; /* 下边距10px */ right: 10px; /* 右边距10px */ background-color: white; border-radius: 8px; /* 圆角 */ box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* 增加阴影效果让盒子更突出 */ overflow: auto; /* 如果内容超出容器大小则显示滚动条 */ } h1 { text-align: center; color: #4a148c; padding: 20px; /* 根据需要添加内边距 */ } </style> </head> <body> <div class="menu"> <div class="menu-item"> <!-- 第一个菜单项的SVG图标 --> <svg viewBox="0 0 24 24"> <path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/> </svg> <span>菜单1</span> </div> <div class="menu-item"> <!-- 第二个菜单项的SVG图标 --> <svg viewBox="0 0 24 24"> <path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5h3V6h2v6h3l-5 5z"/> </svg> <span>菜单2</span> </div> <div class="menu-item"> <!-- 第三个菜单项的SVG图标 --> <svg viewBox="0 0 24 24"> <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 15l-5-5h2v-3h6v3h2l-5 5z"/> </svg> <span>菜单3</span> </div> </div> <div class="content-box"> <h1>欢迎来到nostrbook.com</h1> <!-- 这里可以放置更多内容 --> </div> </body> </html> ```
nostr_cn_dev's avatar
nostr_cn_dev 8 months ago
使用nostr 制作的app,比较新颖的是哪个?有一定的创造性质的。 公开密钥让大家一起用同一账号算其中一个。其他的还有吗?
nostr_cn_dev's avatar
nostr_cn_dev 8 months ago
image nostrbook.com 升级了code的渲染; 此次渲染成功意味着我我们可以增加更多的marked 的兼容 plugin。 让nostr的 30023 变的更好看,未来我会增加更多的 plugin