在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:worknation/work.nation开源软件地址:https://github.com/worknation/work.nation开源编程语言:开源软件介绍:Work.nationThis is a proof of concept demo which allows the creation of contribution claims and confirmations as signed claims, using uPort + IPFS + Ethereum. Live demoArchitectureA visual overview of the components and dataflows between them: LoginUsers log in with uPort, which means that they log in with true decentralized authentication: an identity that is entirely owned and controlled by them, on their devices, with no username or password ever stored in the Work.nation system. ProjectsUsers create projects by entering project attributes, expected contribuitons and confirming with uPort. They can then search for contributors based on past contributions to invite to the project. Technically, the creation of a project is broken into two steps:
Project PermanodesCreating a project permanode has the following steps:
Example permanode: {
creator: "0xfdab345e368120a5ba99549c1f74371cd73cdb93",
random: "LHfpaCvFMgyxTKCawtmn1qdbc91UhM6n1cL2aQRki9a",
timestamp: "2017-05-05T20:54:55.337Z",
type: "permanode"
} This permanode has the ID Project ProfilesWe can then create a profile which references the above project permanode. The process is largely identical to the permanode creation steps in IPFS and Ethereum. Example project profile: {
address: "https://chicken-robot.example.com",
contact: "0x57fab088be2f8bfd5d4cbf849c2568672e4f3db3", // uport id of project contact
imageUrl: "https://s-media-cache-ak0.pinimg.com/736x/2b/22/f8/2b22f82e7843d732c5def05055529c55.jpg",
name: "Chicken Robot",
permanodeId: "/ipfs/QmUbGAEJk7HZXTSWV7dFyrbNecRuhGnbPvYCbgB6UtBHBr", // project permanode
skills: "Chicken Wrangling, Robot Design",
timestamp: "2017-05-05T20:54:55.918Z",
type: "project"
} Contribution Claims and ConfirmationsUsers can self-claim contributions provided to a given project, and confirm contribution claims made by other users. Contribution ClaimTechnically, the process of creating each claim is identical in the IPFS and Ethereum steps described in project creation above. The differences are only in the content of the JSON:
For example, Alice claims that she has contributed Ruby on Rails code on the project Chicken Robot created above: {
"application": "skills",
"reputons": [{
"rater": "0x57fab088be2f8bfd5d4cbf849c2568672e4f3db3", // Alice
"rated": "0x57fab088be2f8bfd5d4cbf849c2568672e4f3db3", // Alice
"assertion": "Ruby on Rails",
"project": "/ipfs/QmUbGAEJk7HZXTSWV7dFyrbNecRuhGnbPvYCbgB6UtBHBr"
"rating": 1,
"sample-size": 1,
"generated": 1492205001 // unix timestamp
}]
} This claim has the IPFS address Example Contribution ConfirmationThe IPFS and Ethereum steps are identical to those described above. The differences are in the content:
For example, Bob confirms that Alice has provided Ruby on Rails contributions on project Chicken Robot: {
"application": "skills",
"reputons": [{
"rater": "0x9df6d7f675d119228eae858213587c0687d0a498", // Bob
"assertion": "confirm",
"rated": "QmX3eFcpPL3bN3EBzcPnUH4fTiJyWi3G8NxEZjfKCGqrnd", // Alice's signed claim of ROR skills
"rating": 1, // 1 = master, 0.5 = confirm
"normal-rating": 0.5,
"sample-size": 1,
"generated": 1492205002
}]
} Code BasesWork.nation is fully open source under an Apache 2 license. The code is available in these locations:
Reputation Index SchemaThe Rails server acts as a "reputation index". Below is a snapshot of the database schema. ContributingContributions and pull requests are most welcome. If you have a big idea, we encourage you to open an issue in one of the repos above to discuss it. Small ideas or fixes just go for it! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论