Giter Site home page Giter Site logo

Comments (9)

cjb avatar cjb commented on July 21, 2024

Thanks for creating the issue -- this sounds reasonable to me! Would accept a PR with gittorrent:{userid:"aaa..."}. I think we wouldn't need a separate proof if we also amend the user profile published to the DHT to claim the onename username, if that makes sense.

from gittorrent.

ericwooley avatar ericwooley commented on July 21, 2024

Sorry, I am brand new to the project. Still trying to get a feel for the project, but I would like to attempt this issue, to get used to working with the DHT, and especially BEP44, as I have a few other projects that will be using this.

I have been poking around a little bit, looking for the name lookup logic, I see https://github.com/cjb/GitTorrent/blob/master/gittorrentd#L77 and https://github.com/cjb/GitTorrent/blob/master/gittorrentd#L121, but I don't see anything that seems to do lookups based on names from the blockchain, or the list of usernames this repo provides.

Based on https://github.com/cjb/GitTorrent/blob/master/git-remote-gittorrent#L80 it looks like this feature only looks for a 40char hex (hash) and then drops back to git. Am I correct in understanding the name lookup is not implemented yet? Or am I missing something completely obvious?

from gittorrent.

cjb avatar cjb commented on July 21, 2024

Nope, you're right, it's not implemented! I started on a JavaScript port of the Python blockstore software (from onename), but using their project directly sounds like a better idea.

from gittorrent.

ericwooley avatar ericwooley commented on July 21, 2024

@cjb

I think we wouldn't need a separate proof if we also amend the user profile published to the DHT to claim the onename username, if that makes sense.

Are you saying that in the DHT, we wouldn't need to attach any additional proof other than providing the username?

I haven't fully thought through all of this, but I think that would be correct. The blockchain could (and should) be checked individually to find the public key once the username is known. Any input before I start working based on that assumption?

from gittorrent.

cjb avatar cjb commented on July 21, 2024

@ericwooley Yeah, exactly! Sounds great, thanks very much for looking at this!

We just need to map hash_of_pubkey <=> username. The blockchain does that mapping one way, and if you want the added assurance of having the hash_of_pubkey also specify which username it's associated with (to avoid someone associating their username with someone else's hash) then you can specify that username in the DHT statement, since the DHT statements are signed by the relevant hash_of_pubkey. Hope that made sense, feel free to ask any questions if it didn't. :)

from gittorrent.

ericwooley avatar ericwooley commented on July 21, 2024

Well, in terms if ease of use, this may have become more difficult. the public keys for onename.com are pgp and the BEP44, is eliptic curve. So I need to figure out a streamlined way to store and lookup names.

from gittorrent.

ericwooley avatar ericwooley commented on July 21, 2024

@ryan_onename on the blockstack slack said they are planning to add arbitrary values to one name, which would make registering easy, but until then I am experimenting with blockstack, which would make registering difficult until easier solutions were implemented.

from gittorrent.

muneeb-ali avatar muneeb-ali commented on July 21, 2024

We're working on the profile schema v3 which is the new version. You can propose the functionality you need and we can take it from there.

Also, blockstore is generic and you can write any key/value pairs to it e.g., in a new namespace. Also, I don't fully understand what you're trying to do and would love to learn more.

from gittorrent.

ericwooley avatar ericwooley commented on July 21, 2024

@muneeb-ali Right now gittorrent works by navigating the dht to find a mutable store, where the key is a sha1 IIRC of a public key from elliptical curve crypto. It uses that store to find a repo, example: gittorrent://<hash>/repoName.

The hash basically maps to a user. When I discovered this project, I saw the plan was to push hashes and username mappings onto the block chain, and thought that onename was basically the same thing, but with different info. Thats how I got to blockstore, and have been working on using blockstore instead of rolling our own scheme.

The main issue, is that its pretty cumbersome to install blockstack just to register your name, or resolve someone elses name. The onename, or equivalant api would suffice for most people, but onename doesn't support arbitrary data yet, once that happens it will be easier to register your name.

I don't think this feature will be used much until the barrier to entry is pretty low. Hopefully one name implements the arbitrary data feature soon, or I may just rollout my own version of it. Doesn't seem to hard, blockstack seems pretty nice.

from gittorrent.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.