All Projects → TokenScript → attestation

TokenScript / attestation

Licence: MIT license
Paper and implementation of blockchain attestations

Programming Languages

java
68154 projects - #9 most used programming language
typescript
32286 projects
solidity
1140 projects
TeX
3793 projects
javascript
184084 projects - #8 most used programming language
common lisp
692 projects

Projects that are alternatives of or similar to attestation

ethereum-kit-ios
Comprehensive EVM SDK (ex: Ethereum, Binance Smart Chain) for iOS, implemented on Swift. Create wallets, watch wallets (read-only), sync transactions, filter transactions by type (erc20, bep20, swap transactions etc.), swap using native DEX protocols, easily extendable to work with custom smart contracts, and full support for EIP1159.
Stars: ✭ 148 (+236.36%)
Mutual labels:  web3
eth-commerce
Javascript library to accept ethereum payments on any website
Stars: ✭ 24 (-45.45%)
Mutual labels:  web3
niftygate
Drop-in Access Control via NFT Ownership
Stars: ✭ 61 (+38.64%)
Mutual labels:  web3
100daysofdapps
100 Days of Ðapps
Stars: ✭ 35 (-20.45%)
Mutual labels:  web3
ethereum-java-web3j
一个很受欢迎的用java和android app类库web3j开发区块链以太坊dapp和智能合约的教程。内容涉及以太坊核心概念,如账户管理、状态与交易、合约开发与交互、过滤器和事件等,也详细说明如何用web3j开发接口与以太坊交互。
Stars: ✭ 22 (-50%)
Mutual labels:  web3
nft-app
How to create your own NFT and mint NFT token
Stars: ✭ 145 (+229.55%)
Mutual labels:  web3
genesis
Genesis is an end-to-end development sandbox and testing platform for Web3 and blockchain-based distributed systems.
Stars: ✭ 71 (+61.36%)
Mutual labels:  web3
ape
The smart contract development tool for Pythonistas, Data Scientists, and Security Professionals
Stars: ✭ 339 (+670.45%)
Mutual labels:  web3
awesome-crypto-critique
Making sense of web3 & crypto. Introduction to key concepts and ideas. Rigorous, constructive analysis of key claims pro and con. A look at the deeper hopes and aspirations.
Stars: ✭ 1,127 (+2461.36%)
Mutual labels:  web3
etherbrite
🗓 Clone eventbrite on Ethereum, built in Solidity, TruffleJS, Web3js and React/Redux.
Stars: ✭ 19 (-56.82%)
Mutual labels:  web3
Graph-Academy-Hub
The Graph Hub is a free, open-source and community-driven knowledge base and documentation initiative on The Graph Protocol. The vision of The Graph Academy is to establish a single go-to-resource for essential information about The Graph Protocol.
Stars: ✭ 62 (+40.91%)
Mutual labels:  web3
project web3.0
This is a code repository for the corresponding video tutorial. In this video, we're going to build a Web 3.0 React Solidity Blockchain Application
Stars: ✭ 2,690 (+6013.64%)
Mutual labels:  web3
swap-swear-and-swindle
Contracts for Swap, Swear and Swindle. Swap is a protocol for p2p accounting. This is the basis for Swarm’s incentivization model.
Stars: ✭ 46 (+4.55%)
Mutual labels:  web3
micro-stacks
Tiny libraries for building the next generation of Stacks apps.
Stars: ✭ 56 (+27.27%)
Mutual labels:  web3
openst-platform
OpenST Platform provides an interface to tokenise mainstream consumer applications with crypto-assets on Ethereum [deprecated in favour of openst.js and mosaic.js]
Stars: ✭ 84 (+90.91%)
Mutual labels:  web3
cap9
Capability-based security protocol for smart contracts
Stars: ✭ 22 (-50%)
Mutual labels:  web3
ethereum-hdwallet
CLI and Node.js library for Ethereum HD Wallet derivations from mnemonic
Stars: ✭ 44 (+0%)
Mutual labels:  web3
svelteWeb3
A simple, dependency minimized package for building modern dApps with Svelte
Stars: ✭ 14 (-68.18%)
Mutual labels:  web3
datamodels
A collection of data models used by Ceramic applications
Stars: ✭ 66 (+50%)
Mutual labels:  web3
cybaca
Small app for huge community growth
Stars: ✭ 16 (-63.64%)
Mutual labels:  web3

TokenScript - Attestation

This repository host the attestation libraries as part of TokenScript. Discussion goes to the forum https://community.tokenscript.org/

You can always use this project in your own code through Maven central, by adding the following dependency in your POM:

<dependency>
  <groupId>org.tokenscript</groupId>
  <artifactId>attestation</artifactId>
  <version>0.3.18</version>
</dependency>

This repository's library serves 3 use-cases of attestations.

Use-case Description Protocol Cmd Demo
Identifier attestation Identifies a person by their Internet identifier such as Twitter Handle and email address. See below
Cheque Cheque: a signed message allows the beneficiary to perform an action, such as withdrawing Ether. Send-token-by-identifier demo.
Attestation as token An attestation that can be used as a non-fungible token.

How is the code organised?

The code is not compartmentalised by use-cases, since they share common components. We provide the common components as library, then, for each use-case, a commandline utility.

Since in most cases these attestations are used on the web, Web-developers should be more interested in attestations being implemented as part of token-neogotiation instead of the basic commandline form. Therefore, this repository should be more of interest by the protocol developers. Our JavaScript based token negotiation implementation is at the token-negotiator repo.

Together with repos that uses the library code, in total we maintain 4 repos. The relationship between these 4 repos are demonstrated here. This one is the first (the upper-left one).

various repos for components

Build

You need the following installed:

  • JDK (version 11 or higher)
  • Gradle (version 7.1.1 is used by our devs)
  • node.js (version 15 is used by our devs)

Once you have them installed, run:

$ gradle build

The build script will run a few tests, resulting a few pem files created in build/test-results/ directory.

Try it yourself

To create a jar file for running the demo, run:

$ gradle shadowJar

Which will create a jar file that you can run in the commandline

build/libs/attestation-all.jar

There is a walk-through to use the functionalities provided by this library through commandline: commandline cheque demonstration and the commandline EIP712 attestation demonstration

Organisation of this repo

This repository has the following content:

data-modules :the data modules definitions used in this project

src :the implementation of the attestation and protocols. We use a Java-Solidity model for quick prototyping - testing.

ethereum/lib : lib for smart contracts which uses attestations

ethereum/issuers : example smart contracts used by issuers, for example, revocation list management.

ethereum/trustlist : members of trustlists to be adopted by smart contracts

ethereum/experiments : work not in the published specifications

ethereum/example-james-squire : an example to be used in your projects which requires attestations

paper : the paper behind the design of this project. The current version there is dated (2018) and doesn't reflect the new work in the last a few years. The current focus is the cheque/attestation protocol

ERC publications

ERC's related to this stream of work are:

ERC1386, ERC1387 & ERC1388

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].