Comments (9)
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.
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.
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.
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.
@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.
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.
@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.
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.
@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)
- Bitcoin username registration
- Open to burning coins to an unspendable address? HOT 18
- Namecoin HOT 8
- How to integrate naming services with GitTorrent? HOT 3
- multi protocol handoff HOT 4
- Is this Project abandoned? HOT 26
- Registering the gittorrent: URL scheme
- Private Repos? HOT 2
- Clone hangs forever for self-hosted repo HOT 3
- Ethereum Registry HOT 3
- Possible collaboration with similar project (Gitchain) HOT 4
- Is the project active anymore? HOT 1
- Decouple GitTorrent from blockchain HOT 11
- Public Gittorrent repository as Github clone HOT 1
- Create pull-request at Git-SCM
- same user/repo ? HOT 1
- "WARN deprecated [email protected]" - Time to look closer at older depedencies? HOT 1
- Browser Compatibility
- other js compatibility
- what is the difference between GitTorrent, Gitpay, Gitchain, radicle, gitnonymous?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gittorrent.