Avatar
powrespecter
27a9ee7edc5486882d7acd61e6631ff18a09e99b6ee5e45906f1d0dc60c61f5f
I respect proof of work. https://powrelay.xyz

I guess you have a script that queries your followers and adds them to the whitelist?

Or, even better, a native client that let's you sort by pow.

I don't know of anything like this yet :(

#[0] would it be possible to have a button or something to increase the pow for a particular post? would help with this problem imho.

Accept if valid, reject if not valid 👍

Thanks for testing, you're the top on the daily. 👑

Let me know if you have any suggestions, still a bit rough around the edges but I'm improving it bit by bit.

#[0] dominating the front page of https://powrelay.xyz today

Just learned aboutwss://relayable.org

Very cool project. We need more experimentation in the relay space. #[0] mentioned a captcha relay, that would be cool too.

Replying to Avatar powrespecter

If it helps here's the little js function I use to count the bits of work for the webui at https://powrelay.xyz

function zeroLeadingBitsCount(hex32) {

let count = 0;

for (let i = 0; i < 64; i += 2) {

const hexbyte = hex32.slice(i, i + 2); // grab next byte

if (hexbyte == '00') {

count += 8;

continue;

}

// reached non-zero byte; count number of 0 bits in hexbyte

const bits = parseInt(hexbyte, 16).toString(2).padStart(8, '0');

for (let b = 0; b < 8; b++) {

if (bits[b] == '1' ) {

break; // reached non-zero bit; stop

}

count += 1;

}

break;

}

return count;

};

You could add this to your site and have some code that only shows posts with more than some number. Then you'll need to add a function to let users generate pow locally on their browsers.

If it helps here's the little js function I use to count the bits of work for the webui at https://powrelay.xyz

function zeroLeadingBitsCount(hex32) {

let count = 0;

for (let i = 0; i < 64; i += 2) {

const hexbyte = hex32.slice(i, i + 2); // grab next byte

if (hexbyte == '00') {

count += 8;

continue;

}

// reached non-zero byte; count number of 0 bits in hexbyte

const bits = parseInt(hexbyte, 16).toString(2).padStart(8, '0');

for (let b = 0; b < 8; b++) {

if (bits[b] == '1' ) {

break; // reached non-zero bit; stop

}

count += 1;

}

break;

}

return count;

};

You could add this to your site and have some code that only shows posts with more than some number. Then you'll need to add a function to let users generate pow locally on their browsers.

I don't think that's a problem. Relays need to be able to deal with spam, this is good for nostr.

Your client could either just read from relays that are really restrictive about spam, like mine, or filter client-side.

I think the best solution would be to just use wss://powrelay.xyz

You'd need to setup a some kind of js miner though so that posts could make it in (otherwise people would make a post and never see it). Currently you only need ~4 bits of work to make it into the relay so even a naive implementation would be fine.

I'm trying to understand how it works. So do you generate a new pub/priv key for each post?