Code Monkey home page Code Monkey logo

launchlists's Introduction

Tokensoft Launchlists

A JSON Schema, called Launch List, a unified way for web3 projects to decentralize contextual information and metadata about their smart contract-based token sales or auctions.

Why?

The Launch list is a specification for lists of metadata pertaining to token sales and auctions. This repo is inspired by the Uniswap Token Lists and the Trust Wallet Asset Library and is designed to enable a direct connection between token projects and web3 interfaces. Any addition to the Launch List has to follow the schema specification outlined in this doc.

Start here

To set up a new sale, follow these steps:

  1. Create a new sale using https://app.tokensoft.io and retrieve the saleId value or retreive a unique identifier that is compatible with your platform of your choice.
  2. Fork this repository and edit /prod/sales_index.json (for production) or /staging/sales_index.json (for testing).
  3. Add your sale configuration to the JSON file by copying one of the existing sale segments. Commit this change to your repository.
  4. Open pull request to from your fork to our main branch. Contact the Tokensoft to get this reviewed and merged.
  5. The sale will be accessible users once the pull request is approved by the maintainers of this repo.
  6. To update this configuration once the sale is visible, create another pull request.

Setup

On Github:

  • Sign in to github
  • Fork this repository

On your machine:

  • Install git: https://github.com/git-guides/install-git
  • Install npm: https://nodejs.org/en/
  • Clone the forked repository: git clone https://github.com/[your github username here]/launchlists.git
  • Enter the repository: cd launchlists
  • Check out a new branch: git checkout -b the-name-of-my-sale
  • Install dependencies: npm install

Launching a Sale

Production

On your machine:

  • Refer to ./sale.example.json for example sale configuration
  • Add a new sale object to the array of sales in ./prod/sales_index.json
  • Verify that the schema is correct: npm run test (this will throw an error if config does not match the schema in ./sale.schema.json)
  • Commit changes: git commit -am 'new sale'
  • Git push: git push origin <the-name-of-my-sale>

On github:

Once complete the sale will be visible on https://app.tokensoft.io or other platforms supporting Launchlists

Staging

You can try out the Tokensoft platform using the same steps as the production flow below, except:

  • Instead of editing, ./prod/sales_index.json, add your sale config to the array of sales in ./staging/sales_index.json
    • Set chain ID to 3 for ropsten
  • View sales at https://app.stagetokensoft.com or other platforms supporting Launchlists
  • The network is Ropsten: this is not suitable for real sales!

Sale Configuration

Use this repository to configure the following sale properties. Note that all ethereum addresses should be in lowercase.

Chain ID

chainId: the Ethereum Chain ID where the sale will occur

  • For production: only Ethereum mainnet (chain ID 1) is supported
  • For staging: Ropsten (3)

Sale Address

saleManagerAddress: the address of the sale management smart contract. Tokensoft will provide this value.

Sale ID

saleId: the bytes32 identifier uniquely identifying this sale, provided during the sale creation process at https://app.tokensoft.io in the SaleManager.newSale() function on-chain. You can find this value under the Manage Sale > Basic Configuration section on https://app.tokensoft.io

Sale Name

  • saleName: the name of the sale that will be displayed in app.tokensoft.io

Hidden

  • hidden: boolean to determine the sale should be hidden from view

Logo

  • logo: a URI to a .png logo that will be displayed in app.tokensoft.io

Favicon

  • favicon: a URI to a .ico logo for browser tabs

Project Website

  • projectWebsite: a URI to the project behind the sale

Socials

  • List links to accounts on common social platforms

Documents

Provide an array of documents that must be reviewed by sale participants. Each document includes these fields:

  • name: the name of the document that will be visible to sale participants, e.g. "Purchase Agreement"
  • uri: a link to a .pdf document
  • appendSignaturePageUri (optional): a link to a one-page .pdf template countersigned by your project. If provided, the same manager should fill in this template with sale participant information and digital signatures. The sale manager should help generate this document.

Access

When a new sale is created, it can either be public (100% globally accessible) or private (restricted to specific users). If private, the sale manager will work with you to generate a list of users that meet the compliance requirements provided by your counsel. Use these two fields to restrict access to specific types of user for pivate sales.

  • limitToRegions (optional): provide a list of ISO Alpha-2 country codes for regions where the sale should be accessible. If this field is provided, users that submit an address in any region not on this list will not be able to participate in the sale. Note that Tokensoft has additional compliance requirements: listing a country here does not imply that Tokensoft can support sale participants in that country.
  • merkleProofs (optional): The sale manager will add this value to reference the merkle proofs allowing users to access a private sale

Access restrictions are additive: to access a private sale, the sale manager may place various restrictions on access. These may include ownership of an NFT, completion of KYC or similar.

launchlists's People

Contributors

ajtokensoft avatar aland1013 avatar bitdealer91 avatar cr-walker avatar danilbd avatar daniyarsurv avatar empatim avatar eugene50 avatar fid7903 avatar kir799 avatar lobster1231 avatar masonicgit avatar motoma avatar nikenikitos9 avatar nikgenn avatar olgakat avatar penj13 avatar polider avatar ranleung avatar reginaart avatar sclue avatar sergiff avatar sethfork avatar thk2b avatar

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.