diff --git a/.gitbook/assets/add-a-plugin.png b/.gitbook/assets/add-a-plugin.png deleted file mode 100644 index 8c5c887..0000000 Binary files a/.gitbook/assets/add-a-plugin.png and /dev/null differ diff --git a/.gitbook/assets/capture-de-cran-2020-12-20-a-11.09.23.png b/.gitbook/assets/capture-de-cran-2020-12-20-a-11.09.23.png deleted file mode 100644 index bc03116..0000000 Binary files a/.gitbook/assets/capture-de-cran-2020-12-20-a-11.09.23.png and /dev/null differ diff --git a/.gitbook/assets/capture-de-cran-2020-12-20-a-11.47.31.png b/.gitbook/assets/capture-de-cran-2020-12-20-a-11.47.31.png deleted file mode 100644 index cc961e7..0000000 Binary files a/.gitbook/assets/capture-de-cran-2020-12-20-a-11.47.31.png and /dev/null differ diff --git a/.gitbook/assets/capture-de-cran-2020-12-20-a-12.19.09.png b/.gitbook/assets/capture-de-cran-2020-12-20-a-12.19.09.png deleted file mode 100644 index e698ee2..0000000 Binary files a/.gitbook/assets/capture-de-cran-2020-12-20-a-12.19.09.png and /dev/null differ diff --git a/.gitbook/assets/capture-de-cran-2020-12-20-a-12.25.49.png b/.gitbook/assets/capture-de-cran-2020-12-20-a-12.25.49.png deleted file mode 100644 index 7b84102..0000000 Binary files a/.gitbook/assets/capture-de-cran-2020-12-20-a-12.25.49.png and /dev/null differ diff --git a/.gitbook/assets/capture-de-cran-2020-12-20-a-12.43.25.png b/.gitbook/assets/capture-de-cran-2020-12-20-a-12.43.25.png deleted file mode 100644 index 11e11e2..0000000 Binary files a/.gitbook/assets/capture-de-cran-2020-12-20-a-12.43.25.png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1).png deleted file mode 100644 index d1542da..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1).png deleted file mode 100644 index d1542da..0000000 Binary files a/.gitbook/assets/image (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (3) (1).png b/.gitbook/assets/image (3) (1).png deleted file mode 100644 index 4d1e05f..0000000 Binary files a/.gitbook/assets/image (3) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png deleted file mode 100644 index 4d1e05f..0000000 Binary files a/.gitbook/assets/image (3).png and /dev/null differ diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png deleted file mode 100644 index a782f2a..0000000 Binary files a/.gitbook/assets/image (4).png and /dev/null differ diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png deleted file mode 100644 index 86af7d9..0000000 Binary files a/.gitbook/assets/image (5).png and /dev/null differ diff --git a/.gitbook/assets/image (6) (1) (1).png b/.gitbook/assets/image (6) (1) (1).png deleted file mode 100644 index 21a0dbc..0000000 Binary files a/.gitbook/assets/image (6) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/screen-shot-2021-06-02-at-12.36.50-pm.png b/.gitbook/assets/screen-shot-2021-06-02-at-12.36.50-pm.png deleted file mode 100644 index 074a11a..0000000 Binary files a/.gitbook/assets/screen-shot-2021-06-02-at-12.36.50-pm.png and /dev/null differ diff --git a/.gitbook/assets/screenshot-164-.png b/.gitbook/assets/screenshot-164-.png deleted file mode 100644 index 2887120..0000000 Binary files a/.gitbook/assets/screenshot-164-.png and /dev/null differ diff --git a/.gitbook/assets/set-space-filters.png b/.gitbook/assets/set-space-filters.png deleted file mode 100644 index 335ffd6..0000000 Binary files a/.gitbook/assets/set-space-filters.png and /dev/null differ diff --git a/.gitbook/assets/snapshot.gif b/.gitbook/assets/snapshot.gif deleted file mode 100644 index 0ed5751..0000000 Binary files a/.gitbook/assets/snapshot.gif and /dev/null differ diff --git a/README.md b/README.md index aad7ac6..7b58003 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This page is intended to give you a brief explanation of what Snapshot is and ho ### **Introduction** -Snapshot is a decentralized voting system. It provides flexibility on how voting power is calculated for vote. Snapshot supports various voting types to cater to the needs of organizations. Creating proposals and voting on Snapshot is user friendly and does not cost any gas as the process is performed off-chain. In short, Snapshot is an off-chain gasless multi-governance client with easy to verify and hard to contest results. **** +Snapshot is a decentralized voting system. It provides flexibility on how voting power is calculated for vote. Snapshot supports various voting types to cater to the needs of organizations. Creating proposals and voting on Snapshot is user friendly and does not cost any gas as the process is performed off-chain. In short, Snapshot is an off-chain gasless multi-governance client with easy to verify and hard to contest results. _\*\*_ ### **Key features** @@ -25,7 +25,7 @@ Snapshot is a decentralized voting system. It provides flexibility on how voting ### **What’s next?** -Our next guide will take you through the steps of creating a space on Snapshot. It will also take you through the process of registering an ENS domain if you do not have one already. Before you start creating a space, you might want to look into some spaces already created on Snapshot. +Our next guide will take you through the steps of creating a space on Snapshot. It will also take you through the process of registering an ENS domain if you do not have one already. Before you start creating a space, you might want to look into some spaces already created on Snapshot. > _We have limited resources so feel free to contribute with code, code review, design, bug reports, advices, documentation, or anything else you are good at._ diff --git a/SUMMARY.md b/SUMMARY.md index 5f2bd47..30ee06c 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -25,7 +25,19 @@ * [GraphQL API](graphql-api.md) * [Webhooks](webhooks.md) * [Snapshot.js](snapshot.js.md) -* [FAQs](faq.md) +* [FAQs](faq/README.md) + * [Spaces](faq/spaces.md) + * [Proposals](faq/proposals.md) + * [Votes](faq/votes.md) + * [Strategies](faq/strategies.md) + * [Delegation](faq/delegation.md) + * [Plugins](faq/plugins.md) + * [Networks](faq/networks.md) + * [Contribution](faq/contribution.md) + * [Integration](faq/integration.md) + * [GraphQL API](faq/graphql-api.md) + * [Webhooks](faq/webhooks.md) + * [Snapshot.js](faq/snapshot.js.md) ## Guides diff --git a/faq.md b/faq.md deleted file mode 100644 index 2d920fe..0000000 --- a/faq.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -description: Frequently asked questions. ---- - -# FAQs - -## **I pushed my PR, when do you check it and what time it will be live?** - -Usually snapshot checks and follows through PRs every 24 to 48h, if you submitted yours and snapshot did not get back to you within this time limit, please chat with us on [**Discord**](https://discord.gg/dDbNGZe) or [**Telegram**](https://t.me/snapshotlabs)**.** - -## **I am getting an error "wrong timestamp", what is the problem?** - -Most likely the issue is that your computer time is not synchronized with the internet time. This is how to fix this: - -### On MacOS - -1. On your Mac, choose Apple menu > System Preferences, then click Date & Time. -2. Click Date & Time, then set the date and time automatically. - -![](.gitbook/assets/image%20%286%29%20%281%29.png) - -### On Windows - -1. Go to Start > Settings > Time & language > Date & time. -2. Then set time automatically. - -![](.gitbook/assets/image%20%282%29.png) - -## **I went to** `https://snapshot.page/#/` **but I see a blank page?** - -* Make sure you are connected with Metamask on the ETH mainnet. -* Try with Chrome or Firefox browser. - -## **How can I get my space showing on the Snapshot homepage?** - -{% page-ref page="spaces/create.md" %} - -## **How can I access my space or the demo space on snapshot?** - -* Snapshot live: `http://snapshot.page/#/` -* Snapshot demo: `http://demo.snapshot.page/#/` - -## **Why I can't vote?** - -To be able to vote you need voting power, your voting power is calculated at the "snapshot" of the proposal. The snapshot is the block number where the voting power matter, if you don't have any token at this block number you will not have any voting power and won't be able to vote. - diff --git a/faq/README.md b/faq/README.md new file mode 100644 index 0000000..c3cc364 --- /dev/null +++ b/faq/README.md @@ -0,0 +1,144 @@ +--- +description: Use the categories on the right sidebar or search through the entire FAQ. +--- + +# FAQs + +## Spaces + +### How can I access my space or the demo space on snapshot? + +Snapshot live: `http://snapshot.org/#/` +Snapshot demo: `http://demo.snapshot.org/#/` + + + +### How can I get my space showing on the Snapshot homepage? + +If you already have a space with GitHub see how to Migrate your space to ENS. + +{% page-ref page="../spaces/migrate.md" %} + +If you want to create a new space with ENS + +{% page-ref page="../spaces/create.md" %} + + + +### **What's the difference between admin and authors** + +* `Admins` can edit `space settings` +* `Authors` can post `proposals` + + + +## Proposals + +### Can I edit a proposal once I posted it ? + +Nope, you can delete it and make a new one. You can also duplicate it, that will prefill all the fields. + + + +### Why I can't save my proposal ? + +* Make sure you filled "Question" and "What is you proposal" placeholders. +* Make sure you've added at least two choices. +* Make sure you've selected a set of actions for voting system, start and end date. +* Make sure to enter a "snapshot block number" + +If you still cant's save your proposal contact us on [Discord](http://discord.snapshot.org) or [Telegram](https://t.me/snapshotlabs) + + + +### Can I create different types of proposals like "core" and "community"? + +If a proposal is created by an `Author` \(added in `space settings`\) it will be shown as `core` proposal. +All other proposal are community proposals. + + + +## Votes + +### **Why I can't vote?** + +To be able to vote you need voting power, your voting power is calculated at the "snapshot" of the proposal. The snapshot is the block number where we read the voting power from. If you didn't have the tokens at this block number, you will not have any voting power and won't be able to vote. + + + +### **I am getting an error "wrong timestamp", what is the problem?** + +Most likely the issue is that your computer time is not synchronized with the internet time. This is how to fix this: + +**On MacOS** +On your Mac, choose Apple menu > System Preferences, then click Date & Time. +Click Date & Time, then set the date and time automatically. + +[![MacOS](https://user-images.githubusercontent.com/55286013/135220574-a1c1ff59-e12a-4ba1-b234-6ebed9140f69.png)](https://user-images.githubusercontent.com/55286013/135220574-a1c1ff59-e12a-4ba1-b234-6ebed9140f69.png) + +**On Windows** +Go to Start > Settings > Time & language > Date & time. +Then set time automatically + +[![Windows](https://user-images.githubusercontent.com/55286013/135220660-b6384c2d-a247-44af-ad06-b5429633a74e.png)](https://user-images.githubusercontent.com/55286013/135220660-b6384c2d-a247-44af-ad06-b5429633a74e.png) + + + +## Strategies + +### What strategy should I use for my proposal + +It widely depends on your use case, if you want coin-voting \(1 token= 1 vote\) you can use "erc20-balance-of", however you may want: + +* Delegate voting power using a delegation strategy +* Weighting voting power using a quadratic strategy +* NFT voting with an ERC-721 based strategy +* Only allow certain members to vote using whitelist strategy +* Calculate voting power from multiple chains with multichain strategy + +You can combine up to 5 strategies on a single proposal \(combination work as OR not AND opperator\) + +At the time of writing snapshot has over 150 voting strategies. +Explore them here [https://snapshot.org/\#/strategies](https://snapshot.org/#/strategies) +You can even preview actions using the playground button. + + + +### I have updated my strategy, when the changes will take effect ? + +Your changes will only affect future proposals, already existing proposals can not be edited. + + + +### May I use multiple chains / networks strategies in my proposals ? + +Yes you can use multi-chain strategy in your space, which can calculate voting power from multiple networks. Check this out: [https://snapshot.org/\#/strategy/multichain](https://snapshot.org/#/strategy/multichain) + + + +### What is the decimal parameter ? + +* When you create a token you have to define the number of decimal that you want +* Most of the token use 18 decimals +* To find out how many decimals your token has you can search the contract address on etherscan.io + + + +### What is the address parameter ? + +In order to setup a coin-voting strategy i.e. `erc20-balance-of` you need to change the placeholder address to your own token contract address. + +## Delegation + +## Networks + +## Contribution + +## API + + + + + +{% page-ref page="spaces.md" %} + diff --git a/faq/contribution.md b/faq/contribution.md new file mode 100644 index 0000000..af2ecd5 --- /dev/null +++ b/faq/contribution.md @@ -0,0 +1,10 @@ +# Contribution + +## **I pushed my PR, when do you check it and what time it will be live?** + +Usually snapshot checks and follows through PRs every 24 to 48h, if you submitted yours and snapshot did not get back to you within this time limit, please chat with us on [**Discord**](https://discord.gg/dDbNGZe) or [**Telegram**](https://t.me/snapshotlabs)**.** + +## + + + diff --git a/faq/delegation.md b/faq/delegation.md new file mode 100644 index 0000000..229f55b --- /dev/null +++ b/faq/delegation.md @@ -0,0 +1,28 @@ +# Delegation + +## **When I added delegation, it appears to not allow anyone to vote.** + +Delegation strategy syntax example: + +```text +{ + "symbol": "Shark", + "strategies": [ + { + "name": "erc20-balance-of", + "params": { + "address": "0x232a...", + "symbol": "Shark", + "decimals": 18 + } + } + ] +} +``` + +if you pass something like this, it will calculate balance of this token 0x232a... that delegated to an address + +## + + + diff --git a/faq/graphql-api.md b/faq/graphql-api.md new file mode 100644 index 0000000..e245179 --- /dev/null +++ b/faq/graphql-api.md @@ -0,0 +1,10 @@ +# GraphQL API + +## I want to get all the voters from a space Is there any easy way to do this? + +There is an API endpoint to get the list of all voters per space\(s\) and period see the last one, "List voters" [https://docs.snapshot.page/hub-api\#get-a-proposal](https://docs.snapshot.page/hub-api#get-a-proposal) + + + + + diff --git a/faq/integration.md b/faq/integration.md new file mode 100644 index 0000000..9ea70c6 --- /dev/null +++ b/faq/integration.md @@ -0,0 +1,2 @@ +# Integration + diff --git a/faq/networks.md b/faq/networks.md new file mode 100644 index 0000000..c0956c1 --- /dev/null +++ b/faq/networks.md @@ -0,0 +1,12 @@ +# Networks + +## Can I use ENS domain on testnet ? + +The ENS domain must be on mainnet, then on Snapshot settings page you can use any network for your space + +## Can I use snapshot on non-EVM chains like Solana ? + +Currently, Snapshot only support EVM chains, if you are looking to use it with Solana look at Neon cross-chain EVM. + + + diff --git a/faq/plugins.md b/faq/plugins.md new file mode 100644 index 0000000..52c2d6f --- /dev/null +++ b/faq/plugins.md @@ -0,0 +1,12 @@ +# Plugins + +## Can I become who I want to be? + +That's a tough question but thankfully, our team is on it. Please bear with us while we're investigating. + +## Have you had a chance to answer the previous question? + +Yes, after a few months we finally found the answer. Sadly, Mike is on vacations right now so I'm afraid we are not able to provide the answer at this point. + + + diff --git a/faq/proposals.md b/faq/proposals.md new file mode 100644 index 0000000..e8f8cc1 --- /dev/null +++ b/faq/proposals.md @@ -0,0 +1,20 @@ +# Proposals + +## Can I edit a proposal once I posted it ? + +No, you can only delete it and make a new one. + +## Why I can't save my proposal ? + +* Make sure you filled "Question" and "What is you proposal" placeholders. +* Make sure you've added at least two choices. +* Make sure you've selected a set of actions for voting system, start and end date. + +If you still cant's save your proposal contact us on Discord or Telegram + +## Can I create different types of proposals like "core" and "community"? + +If the proposal is created by a member \(added from settings\) it will be shown as `core` all other are community. + + + diff --git a/faq/snapshot.js.md b/faq/snapshot.js.md new file mode 100644 index 0000000..47c8675 --- /dev/null +++ b/faq/snapshot.js.md @@ -0,0 +1,2 @@ +# Snapshot.js + diff --git a/faq/spaces.md b/faq/spaces.md new file mode 100644 index 0000000..f646349 --- /dev/null +++ b/faq/spaces.md @@ -0,0 +1,27 @@ +# Spaces + +## **How can I access my space or the demo space on snapshot?** + +* Snapshot live: `http://snapshot.page/#/` +* Snapshot demo: `http://demo.snapshot.page/#/` + +## **How can I get my space showing on the Snapshot homepage?** + +{% page-ref page="../spaces/create.md" %} + +## **I went to** `https://snapshot.page/#/` **but I see a blank page?** + +* Make sure you are connected with Metamask on the ETH mainnet. +* Try with Chrome or Firefox browser. + +## **I can't save my space settings** + +* Make sure you have filled all the required fields. +* If "Terms" field is required make sure the format is `http://` or `https://` + + + +## **What's the difference between admin and authors** + +Admin can edit space settings, authors can post proposals. + diff --git a/faq/strategies.md b/faq/strategies.md new file mode 100644 index 0000000..5f4ff88 --- /dev/null +++ b/faq/strategies.md @@ -0,0 +1,40 @@ +# Strategies + +## What strategy should I use for my proposal + +It widely depends on your use case, if you want coin-voting \(1 token= 1 vote\) you can use "erc20-balance-of", however you may want: + +* Delegate voting power using a delegation strategy +* Weighting voting power using a quadratic strategy +* NFT voting with an ERC-721 based strategy +* Only allow certain members to vote using whitelist strategy +* Calculate voting power from multiple chains with multichain strategy + +You can combine up to 5 strategies on a single proposal + +At the time of writing snapshot has over 150 voting strategies. Explore them here [https://snapshot.org/\#/strategies](https://snapshot.org/#/strategies) +You can even preview actions using the playground button. + +## I have updated my strategy, when the changes will take effect ? + +Once a proposal is created, if you change strategies, it will take effect from next proposal - It will not affect previous proposal. + +## May I use multiple chains / networks in my space ? + +Yes you can use multi-chain strategy in your space, which can calculate voting power from multiple networks. + +## What is the decimal parameter ? + +* When you create a token you have to define the number of decimal that you want +* Most of the token use 18 decimals + +## What is the address parameter ? + +In order to setup a coin-voting strategy i.e. "erc20-balance-of" you need to change the placeholder address to your own token ERC-20 address. + +## Can I deploy my own token on Snapshot + +Not yet, you need to create your token on another platform. + + + diff --git a/faq/votes.md b/faq/votes.md new file mode 100644 index 0000000..b83fbb8 --- /dev/null +++ b/faq/votes.md @@ -0,0 +1,26 @@ +# Votes + +## **Why I can't vote?** + +To be able to vote you need voting power, your voting power is calculated at the "snapshot" of the proposal. The snapshot is the block number where the voting power matter, if you don't have any token at this block number you will not have any voting power and won't be able to vote. + +## **I am getting an error "wrong timestamp", what is the problem?** + +Most likely the issue is that your computer time is not synchronized with the internet time. This is how to fix this: + +### On MacOS + +1. On your Mac, choose Apple menu > System Preferences, then click Date & Time. +2. Click Date & Time, then set the date and time automatically. + +![](../.gitbook/assets/image%20%286%29%20%281%29.png) + +### On Windows + +1. Go to Start > Settings > Time & language > Date & time. +2. Then set time automatically. + +![](../.gitbook/assets/image%20%282%29.png) + + + diff --git a/faq/webhooks.md b/faq/webhooks.md new file mode 100644 index 0000000..d914199 --- /dev/null +++ b/faq/webhooks.md @@ -0,0 +1,2 @@ +# Webhooks + diff --git a/graphql-api.md b/graphql-api.md index 7dfcf6d..b4b1512 100644 --- a/graphql-api.md +++ b/graphql-api.md @@ -10,7 +10,7 @@ description: >- You can run queries on real Snapshot data using the GraphQL Explorer, an integrated development environment in your browser that includes docs, syntax highlighting, and validation errors. Try here: -{% embed url="https://hub.snapshot.org/graphql" %} +{% embed url="https://hub.snapshot.org/graphql" caption="" %} ![](.gitbook/assets/image.png) @@ -86,11 +86,14 @@ Try on [GraphiQL](https://hub.snapshot.org/graphql?query=query%20%7B%0A%20%20spa first `number` skip `number` -where: - - id`string` - - id\_in`array` -orderBy `string` -orderDirection `asc` or `desc` +where: + +* id`string` +* id\_in`array` + + orderBy `string` + + orderDirection `asc` or `desc` #### Example @@ -245,18 +248,21 @@ Try on [GraphiQL](https://hub.snapshot.org/graphql?operationName=Proposal&query= first `number` skip `number` -where: - - id`string` - - id\_in`array` - - space:`string` - - space\_in:`array` - - author:`string` - - author\_in:`array` - - network: `string` - - network\_in: `array` - - state: `array` -orderBy `string` -orderDirection `asc` or `desc` +where: + +* id`string` +* id\_in`array` +* space:`string` +* space\_in:`array` +* author:`string` +* author\_in:`array` +* network: `string` +* network\_in: `array` +* state: `array` + + orderBy `string` + + orderDirection `asc` or `desc` #### Example @@ -382,17 +388,20 @@ Try on [GraphiQL](https://hub.snapshot.org/graphql?operationName=Vote&query=quer first `number` skip `number` -where: - - id`string` - - id\_in`array` - - space:`string` - - space\_in:`array` - - voter:`string` - - voter\_in:`array` - - proposal: `string` - - proposal\_in: `array` -orderBy `string` -orderDirection `asc` or `desc` +where: + +* id`string` +* id\_in`array` +* space:`string` +* space\_in:`array` +* voter:`string` +* voter\_in:`array` +* proposal: `string` +* proposal\_in: `array` + + orderBy `string` + + orderDirection `asc` or `desc` #### Example @@ -463,15 +472,18 @@ Try on [GraphiQL](https://hub.snapshot.org/graphql?operationName=Votes&query=que first `number` skip `number` -where: - - id`string` - - id\_in`array` - - space:`string` - - space\_in:`array` - - follower:`string` - - follower\_in:`array` -orderBy `string` -orderDirection `asc` or `desc` +where: + +* id`string` +* id\_in`array` +* space:`string` +* space\_in:`array` +* follower:`string` +* follower\_in:`array` + + orderBy `string` + + orderDirection `asc` or `desc` #### Example @@ -537,5 +549,3 @@ query { Try on [GraphiQL](https://hub.snapshot.org/graphql?query=query%20%7B%0A%20%20follows%28%0A%20%20%20%20first%3A%2010%2C%0A%20%20%20%20where%3A%20%7B%0A%20%20%20%20%20%20follower%3A%20%220xeF8305E140ac520225DAf050e2f71d5fBcC543e7%22%0A%20%20%20%20%7D%0A%20%20%29%20%7B%0A%20%20%20%20follower%0A%20%20%20%20space%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%7D%0A%20%20%20%20created%0A%20%20%7D%0A%7D) - - diff --git a/guides/archived/add-avatar.md b/guides/archived/add-avatar.md index 4098f8b..5c9b2fc 100644 --- a/guides/archived/add-avatar.md +++ b/guides/archived/add-avatar.md @@ -6,18 +6,18 @@ description: Avatars are optional. To get a logo for your space, images you need to do a pull request on this repository: -{% embed url="https://github.com/snapshot-labs/snapshot-spaces" %} +{% embed url="https://github.com/snapshot-labs/snapshot-spaces" caption="" %} -#### Follow the Snapshot spaces directory tree +### Follow the Snapshot spaces directory tree ```bash └── spaces └── my-space.eth ├── logo.png - └── space.png + └── space.png ``` -### **Add your space logo and strategy image\(s\)** +## **Add your space logo and strategy image\(s\)** You will need to create a folder with the id of your space \(example: "my-space.eth"\). In this folder you need a file "space.png" and "logo.png" \(for the first strategy\) and "logo1.png" if you have a second strategy. diff --git a/guides/archived/create-a-space-github.md b/guides/archived/create-a-space-github.md index 5aa9cd1..a7bda34 100644 --- a/guides/archived/create-a-space-github.md +++ b/guides/archived/create-a-space-github.md @@ -4,7 +4,7 @@ description: Create your own space on Snapshot! # Create a space \(on GitHub\) -### **1: Fork Snapshot spaces repository here** +## **1: Fork Snapshot spaces repository here** {% embed url="https://github.com/bonustrack/snapshot-spaces" caption="" %} @@ -23,7 +23,7 @@ git checkout master git merge master/master ``` -### **2: Copy the space "example" folder** +## **2: Copy the space "example" folder** {% embed url="https://github.com/bonustrack/snapshot-spaces/tree/master/spaces/example" caption="" %} @@ -37,11 +37,11 @@ git merge master/master |-- example.scss (optional) ``` -### **3: Space metadata** +## **3: Space metadata** Note that your path folder name will be the name that will show on the snapshot link: -* https://snapshot.page/\#/**your-space** +* [https://snapshot.page/\#/\*\*your-space\*\*](https://snapshot.page/#/**your-space**) Example: `index.json` @@ -77,14 +77,14 @@ Example: `index.json` } ``` -#### **R**equired **fields:** `token, name, network, symbol, strategies` +### **R**equired **fields:** `token, name, network, symbol, strategies` -### **4: Add a logo and space images** +## **4: Add a logo and space images** 1. You must add both `logo.png` and `space.png` images for your space with a size of 256 x 256 pixels. 2. The file size should not exceed `50KB`. -### **5: Create a skin \(optional\)** +## **5: Create a skin \(optional\)** 1. To create your own skin go to the `/skins` folder. 2. Copy `example.scss` change the name to what you like \(prefferably your space name\). @@ -108,7 +108,7 @@ Example: `your-space.scss` } ``` -### **6: Make sure everything is ready** +## **6: Make sure everything is ready** Your files should something like this: @@ -122,7 +122,7 @@ Your files should something like this: |-- your-space.scss (optional) ``` -### **7: Make a pull request** +## **7: Make a pull request** * Please name your PR title on the model `Add SYMBOL space` * It may take 1 or 2 days to get your PR reviewed, merged and appear on Snapshot. diff --git a/guides/archived/error-messages.md b/guides/archived/error-messages.md index db96d4f..25ae5a5 100644 --- a/guides/archived/error-messages.md +++ b/guides/archived/error-messages.md @@ -7,12 +7,12 @@ description: Information about specific errors that can appear. | **Error code** | **Error information** | | :--- | :--- | | **`wrong message body`** | Message did not pass because body was empty or did not contain address or did not contain sig. | -| **`wrong signed message`** | Message did dont have his local clock sync. | +| **`wrong signed message`** | Message did dont have his local clock sync. | | **`wrong timestamp`** | User doesn't have local clock synced. | | **`wrong version`** | Hub version doesn't exist or is wrong. | | **`wrong message type`** | Message does not include a type. | | **`wrong signature`** | Body sig doesn't exist or is wrong. | -| **`wrong proposal format`** | Proposal must include a title, a description, 2 choices, a block time, start and end dates. | +| **`wrong proposal format`** | Proposal must include a title, a description, 2 choices, a block time, start and end dates. | | **`wrong proposal size`** | Proposal size is bigger or smaller than how it should minimum/maximum be. | | **`wrong proposal metadata`** | Proposal metadata is wrong. | | **`wrong proposal period`** | Proposal start date is greater than the end date. | diff --git a/guides/archived/hub-api.md b/guides/archived/hub-api.md index 53fef6b..bc8cd6b 100644 --- a/guides/archived/hub-api.md +++ b/guides/archived/hub-api.md @@ -1,22 +1,22 @@ # Rest API -### Get all spaces +## Get all spaces -{% embed url="https://hub.snapshot.page/api/spaces" %} +{% embed url="https://hub.snapshot.page/api/spaces" caption="" %} -### Get a single space +## Get a single space -{% embed url="https://hub.snapshot.page/api/spaces/yam" %} +{% embed url="https://hub.snapshot.page/api/spaces/yam" caption="" %} -### Get all proposals of a space +## Get all proposals of a space -{% embed url="https://hub.snapshot.page/api/balancer/proposals" %} +{% embed url="https://hub.snapshot.page/api/balancer/proposals" caption="" %} -### Get all votes of a proposal +## Get all votes of a proposal -{% embed url="https://hub.snapshot.page/api/balancer/proposal/QmQpKL29E6ydTvC6p9NoEbTda9ddDkVtWe2YWpWK3NFYqq" %} +{% embed url="https://hub.snapshot.page/api/balancer/proposal/QmQpKL29E6ydTvC6p9NoEbTda9ddDkVtWe2YWpWK3NFYqq" caption="" %} -### Get a proposal +## Get a proposal You can get a proposal content from IPFS directly using the proposal id:[ https://ipfs.io/ipfs/QmQpKL29E6ydTvC6p9NoEbTda9ddDkVtWe2YWpWK3NFYqq](https://ipfs.io/ipfs/QmQpKL29E6ydTvC6p9NoEbTda9ddDkVtWe2YWpWK3NFYqq) @@ -52,7 +52,7 @@ Spaces ids separated with commas {% endapi-method-response-example-description %} -``` +```text [ { "address": "0xaaAb28818F71C96E13518025Cc063A1CA6F4Fd58", @@ -72,7 +72,7 @@ Spaces ids separated with commas {% endapi-method-spec %} {% endapi-method %} -### Testnet hub +## Testnet hub To see content from [https://demo.snapshot.page](https://demo.snapshot.page/#/) you need to query the testnet hub at this url: [https://testnet.snapshot.page](https://testnet.snapshot.page/) diff --git a/guides/contribute/support.md b/guides/contribute/support.md index dd1f998..d8121de 100644 --- a/guides/contribute/support.md +++ b/guides/contribute/support.md @@ -2,7 +2,7 @@ You have a good understanding on how Snapshot works and want to help others? Get this role and try to answer questions from others or create a GitHub issue when someone find a bug. _Rewards: 1,000 USDC / month_ -### Get started +## Get started * When someone ask a question on Discord or Telegram, if you know the answer, feel free to answer. If you don't know the answer you can: * Search on Discord or Telegram if the question was asked already. @@ -11,7 +11,7 @@ You have a good understanding on how Snapshot works and want to help others? Get * If someone spam or promote a project for no reason, please contact an admin. * The more you know about Snapshot the easier it will be for you to help others, if you have questions feel free to ask in the \#support channel, an admin will answer. -### Get paid +## Get paid We reward support contributors for a total of $1,000 per month. The amount is spread between the different contributors, based on how much they been contributing. The payment is done once a month at the very beginning of each months. diff --git a/guides/delegation.md b/guides/delegation.md index c99a0ee..6ead60a 100644 --- a/guides/delegation.md +++ b/guides/delegation.md @@ -28,5 +28,5 @@ A delegation voting strategy must be added to the Snapshot space before delegate ### With a smart contract -You need to call the method "**setDelegate**" with the space id as first argument, and the address of the delegate as second argument. Here is an example of integration in a Solidity contract [https://github.com/convex-eth/platform/blob/d3061c19b5e01a4e562c8121b08c44f1b42f0b85/contracts/contracts/BasicCvxHolder.sol\#L49-L53](https://github.com/convex-eth/platform/blob/d3061c19b5e01a4e562c8121b08c44f1b42f0b85/contracts/contracts/BasicCvxHolder.sol#L49-L53) +You need to call the method "**setDelegate**" with the space id as first argument, and the address of the delegate as second argument. Here is an example of integration in a Solidity contract [https://github.com/convex-eth/platform/blob/d3061c19b5e01a4e562c8121b08c44f1b42f0b85/contracts/contracts/BasicCvxHolder.sol\#L49-L53](https://github.com/convex-eth/platform/blob/d3061c19b5e01a4e562c8121b08c44f1b42f0b85/contracts/contracts/BasicCvxHolder.sol#L49-L53) diff --git a/networks.md b/networks.md index 0d2e37b..887c0f0 100644 --- a/networks.md +++ b/networks.md @@ -2,10 +2,8 @@ Snapshot support EVM based networks. All the networks currently supported are visible here: [https://snapshot.page/\#/networks](https://snapshot.page/#/networks) -### Add a new network +## Add a new network * Make a pull request on this file: [https://github.com/snapshot-labs/snapshot.js/blob/master/src/networks.json](https://github.com/snapshot-labs/snapshot.js/blob/master/src/networks.json) Make sure the RPC node is an archive node, this is mandatory. Snapshot use archive nodes to calculate voting power at a specific block time. You will also need to add a multicall contract address. * And add an image of the network on this folder: [https://github.com/snapshot-labs/snapshot.js/tree/master/src/networks](https://github.com/snapshot-labs/snapshot.js/tree/master/src/networks) - - diff --git a/plugins/aragon.md b/plugins/aragon.md index 623ccbf..6937e3e 100644 --- a/plugins/aragon.md +++ b/plugins/aragon.md @@ -8,5 +8,5 @@ description: On-chain settlement using Aragon Agreements This plugin is still under development and not yet available. {% endhint %} -{% embed url="https://aragon.org/blog/snapshot" %} +{% embed url="https://aragon.org/blog/snapshot" caption="" %} diff --git a/plugins/create.md b/plugins/create.md index c9124ff..19d7f58 100644 --- a/plugins/create.md +++ b/plugins/create.md @@ -1,12 +1,12 @@ # Create a plugin -Plugin is a way to add a feature for a proposal. Most of the time a plugin creates a new block in the proposal page with extra information or action buttons. +Plugin is a way to add a feature for a proposal. Most of the time a plugin creates a new block in the proposal page with extra information or action buttons. -The block “Quorum” on the right side of Yam is an example of plugin [https://snapshot.org/\#/yam.eth/proposal/QmRLiSZdXJLNaejrgpAL5bqzYefMxc4JJJ1GZSg9GtiCSW](https://snapshot.org/#/yam.eth/proposal/QmRLiSZdXJLNaejrgpAL5bqzYefMxc4JJJ1GZSg9GtiCSW) **** +The block “Quorum” on the right side of Yam is an example of plugin [https://snapshot.org/\#/yam.eth/proposal/QmRLiSZdXJLNaejrgpAL5bqzYefMxc4JJJ1GZSg9GtiCSW](https://snapshot.org/#/yam.eth/proposal/QmRLiSZdXJLNaejrgpAL5bqzYefMxc4JJJ1GZSg9GtiCSW) _\*\*_ Another example of plugin is a block "Gnosis Impact" [on Gnosis https://snapshot.org/\#/gnosis.eth/proposal/QmdjWuBnBnPUafW9jBNNsJJvaeQAVExGcFZ7zB38VtNuu4](https://snapshot.org/#/gnosis.eth/proposal/QmdjWuBnBnPUafW9jBNNsJJvaeQAVExGcFZ7zB38VtNuu4) -You can find examples of plugins here: +You can find examples of plugins here: [https://github.com/snapshot-labs/snapshot-plugins/tree/master/src/plugins](https://github.com/snapshot-labs/snapshot-plugins/tree/master/src/plugins) [https://github.com/snapshot-labs/snapshot/tree/develop/src/components/Plugin](https://github.com/snapshot-labs/snapshot/tree/develop/src/components/Plugin) diff --git a/plugins/poap.md b/plugins/poap.md index b5decf9..cd5e7c2 100644 --- a/plugins/poap.md +++ b/plugins/poap.md @@ -1,10 +1,10 @@ # POAP -POAP are badges which are non fungible tokens \(NFT\). Each time you participate in an event, POAP collectors get a unique badge that is supported by a cryptographic record. ****With the POAP plugin you can reward voters on your space with a unique POAP for each of your Proposals on Snapshot. +POAP are badges which are non fungible tokens \(NFT\). Each time you participate in an event, POAP collectors get a unique badge that is supported by a cryptographic record. _\*\*_With the POAP plugin you can reward voters on your space with a unique POAP for each of your Proposals on Snapshot. -### **Getting started** +## **Getting started** -Here is a tutorial to setup POAP plugin on your Snapshot space: +Here is a tutorial to setup POAP plugin on your Snapshot space: * Go to your settings page on Snapshot [https://snapshot.org/\#/domain.eth/setting](https://snapshot.org/#/domain.eth/settings) and click on the add plugin. @@ -15,24 +15,21 @@ Here is a tutorial to setup POAP plugin on your Snapshot space: ![](https://lh6.googleusercontent.com/Rx2KPaG5rx_jfwWmjherO2YJTMjJtdkU35biQEJlPUZXEfaaB6SG_qdw2G8BMZYywrfEaHtjxDamAYbReEJ214Zo4XodgGoYwTbLXo9-rpf1_edPSl2xitCPAHY2YA=s0) * Now save the setting from the top right corner and sign the transactions to save your settings. A POAP plugin has now been successfully added. A POAP plugin will automatically be added to all the new proposals you create. You do not need to add it manually. -* ****Whenever you create a new proposal, you must save your Snapshot proposal ID from the url of the proposal. +* _\*\*_Whenever you create a new proposal, you must save your Snapshot proposal ID from the url of the proposal. ![](https://lh3.googleusercontent.com/X1BF1pwn6cyPu0g7j0UJpq9Ys44PlleccP9Pf-U4PNHU1cVVstF6ldQunrTLY97o88_8Vi_RbnDiLSmHCelGSm3-iZP05G8Mr2Qy1r5bjfJypPIpkdO2PnfdycNcyQ=s0) -* Create a POAP event by going to the link [https://app.poap.xyz/admin/events](https://app.poap.xyz/admin/events). Click on ‘Create new POAP’. Make sure you comply with all the image requirements. After creating the POAP event, you will receive a confirmation email which will indicate that you reply with the amount of codes you need for the attendees of your event. This is not necessary for the plugin to work. **** +* Create a POAP event by going to the link [https://app.poap.xyz/admin/events](https://app.poap.xyz/admin/events). Click on ‘Create new POAP’. Make sure you comply with all the image requirements. After creating the POAP event, you will receive a confirmation email which will indicate that you reply with the amount of codes you need for the attendees of your event. This is not necessary for the plugin to work. _\*\*_ ![](https://lh6.googleusercontent.com/jcfVETtJQps-PoHVJNJw3gyz6A7_0b6wKY6aJnK4YsXJWza9-IC2oXY736ZFptTgu8IWPLjEqdHQZXuKNQwahNe2jt9jMAdJb92oj2I0ioH35iJyiU0IrR-8Jp4lRw=s0) * Link your POAP event ID to Snapshot proposal ID by contacting the POAP team via discord or telegram. -* Once the event and Proposal is linked, each voter will be able to claim their special POAP. **** +* Once the event and Proposal is linked, each voter will be able to claim their special POAP. _\*\*_ You can also check out a tutorial guide to set up POAP plugin for your Snapshot space [https://tomso11.medium.com/how-to-set-up-poap-snapshot-plugin-f8006eb5ab88](https://tomso11.medium.com/how-to-set-up-poap-snapshot-plugin-f8006eb5ab88) -### Support +## Support Join POAP Discord: [http://poap.xyz/discord](http://poap.xyz/discord) Join Snapshot Discord: [https://discord.snapshot.org](https://discord.snapshot.org/) - - - diff --git a/plugins/safesnap.md b/plugins/safesnap.md index e92e49f..b50e96c 100644 --- a/plugins/safesnap.md +++ b/plugins/safesnap.md @@ -6,17 +6,15 @@ description: Combine the Gnosis Safe with Snapshot With help of SafeSnap and Gnosis Safe, you can have a trustless on-chain execution of off-chain votes. -{% embed url="https://blog.gnosis.pm/introducing-safesnap-the-first-in-a-decentralized-governance-tool-suite-for-the-gnosis-safe-ea67eb95c34f" %} +{% embed url="https://blog.gnosis.pm/introducing-safesnap-the-first-in-a-decentralized-governance-tool-suite-for-the-gnosis-safe-ea67eb95c34f" caption="" %} ## Setup Here is the official guide on how to setup a SafeSnap for your project: -{% embed url="https://github.com/gnosis/dao-module/blob/main/docs/setup\_guide.md" %} +{% embed url="https://github.com/gnosis/dao-module/blob/main/docs/setup\_guide.md" caption="" %} Learn more about SafeSnap in this video: -{% embed url="https://www.youtube.com/watch?v=ncDeEuJfVkg" %} - - +{% embed url="https://www.youtube.com/watch?v=ncDeEuJfVkg" caption="" %} diff --git a/proposals/README.md b/proposals/README.md index e52b9f4..bcf99f4 100644 --- a/proposals/README.md +++ b/proposals/README.md @@ -1,12 +1,10 @@ # Proposals -### Create a proposal +## Create a proposal {% page-ref page="create.md" %} -### Vote on a proposal +## Vote on a proposal {% page-ref page="vote.md" %} - - diff --git a/proposals/create.md b/proposals/create.md index 76d4ed5..baf53d7 100644 --- a/proposals/create.md +++ b/proposals/create.md @@ -4,7 +4,7 @@ description: Learn how to create a proposal. # Create a proposal -### How to create a proposal? +## How to create a proposal? * Go to a project space and click on connect wallet in top right corner * Connect with wallet provider where you hold relevant tokens and click on “New Proposal” @@ -13,9 +13,9 @@ description: Learn how to create a proposal. * Use the default Snapshot block number or you can change it according to your needs. The block number is the snapshot where the balance of voters will be counted. * Click on “Publish” and your proposal is created! -### **Add a Snapshot block number** +## **Add a Snapshot block number** -This number is important to lock the state of community members who are able to vote. Note that only the community members who hold relevant amounts of tokens at the time of creation of **Snapshot block number** would be able to vote on the proposal. **** +This number is important to lock the state of community members who are able to vote. Note that only the community members who hold relevant amounts of tokens at the time of creation of **Snapshot block number** would be able to vote on the proposal. _\*\*_ When you create a proposal, by default the "snapshot block number" will be populated with the latest block sync from our node. You can use this default number while creating a proposal. @@ -24,5 +24,3 @@ When you create a proposal, by default the "snapshot block number" will be popul Depending on the settings of the space, either everyone holding a sufficient amount of tokens can vote or only members holding a sufficient amount of tokens can submit a proposal. - - diff --git a/proposals/vote.md b/proposals/vote.md index e26f29d..bf75751 100644 --- a/proposals/vote.md +++ b/proposals/vote.md @@ -4,7 +4,7 @@ description: Submit your vote on a proposal. # Vote on a proposal -In order to vote on the given proposal, you need to have a sufficient amount of tokens at the time when the block was created. This means that if you attempt to vote on a proposal and block number is in the past, and you were not holding the required token yet, your vote will not be counted. +In order to vote on the given proposal, you need to have a sufficient amount of tokens at the time when the block was created. This means that if you attempt to vote on a proposal and block number is in the past, and you were not holding the required token yet, your vote will not be counted. 1. Go to your project's snapshot.page 2. Click on “Connect wallet” button in top right corner diff --git a/proposals/voting-types.md b/proposals/voting-types.md index 398e08b..27841ed 100644 --- a/proposals/voting-types.md +++ b/proposals/voting-types.md @@ -8,23 +8,23 @@ description: Learn more about the different ways you can vote on Snapshot Snapshot supports a number of different voting types and we plan to support many more in the future. If you would like to request a new voting type, please open a feature request here [https://features.snapshot.org/feature-requests](https://features.snapshot.org/feature-requests) {% endhint %} -### Single choice voting +## Single choice voting Each voter may select a single choice to give his total voting power to. -### Approval voting +## Approval voting Each voter may select \("approve"\) any number of choices, each selected choice will receive the full voting power. -### Quadratic voting +## Quadratic voting Each voter may spread voting power across any number of choices. The results are calculated quadratically, you can test out these calculations here [https://wtfisqf.com/](https://wtfisqf.com/) -### Ranked choice voting \(IRV\) +## Ranked choice voting \(IRV\) Each voter may rank any number of choices. Votes are initially counted for each voter's top choice. If a candidate has more than half of the vote based on first-choices, that choice wins. If not, then the choice with the fewest votes is eliminated. The voters who selected the defeated choice as a first choice then have their votes added to the totals of their next choice. This process continues until a choice has more than half of the votes. When the field is reduced to two, it has become an "instant runoff" that allows a comparison of the top two choice head-to-head. -### Weighted voting +## Weighted voting Each voter may spread voting power across any number of choices. This voting method was first introduced by Float Protocol with [https://scattershot.page](https://scattershot.page/) \(a fork of Snapshot\). diff --git a/snapshot.js.md b/snapshot.js.md index b82c2a8..fe1a62f 100644 --- a/snapshot.js.md +++ b/snapshot.js.md @@ -4,11 +4,11 @@ description: The official JavaScript client for build Snapshot apps. # Snapshot.js -{% embed url="https://github.com/snapshot-labs/snapshot.js" %} +{% embed url="https://github.com/snapshot-labs/snapshot.js" caption="" %} -### **Utils** +## **Utils** -### **getProvider** +## **getProvider** Return a Ethers.js JsonRPCProvider connected to an archive node. @@ -19,7 +19,7 @@ const network = '1'; const provider = snapshot.utils.getProvider(network); ``` -### **getScores** +## **getScores** Calculate voting power for a list of voters. @@ -58,6 +58,3 @@ snapshot.utils.getScores( }); ``` - - - diff --git a/spaces/README.md b/spaces/README.md index 899a47e..a3082c6 100644 --- a/spaces/README.md +++ b/spaces/README.md @@ -1,22 +1,22 @@ # Spaces -### Create a space +## Create a space {% page-ref page="create.md" %} -### Migrate a space +## Migrate a space {% page-ref page="migrate.md" %} -### Avatars +## Avatars {% page-ref page="../guides/archived/add-avatar.md" %} -### Skins +## Skins {% page-ref page="add-skin.md" %} -### Custom domain +## Custom domain {% page-ref page="add-custom-domain.md" %} diff --git a/spaces/add-custom-domain.md b/spaces/add-custom-domain.md index 05e3f81..1664eab 100644 --- a/spaces/add-custom-domain.md +++ b/spaces/add-custom-domain.md @@ -4,28 +4,28 @@ description: Custom domain is optional. # Add a custom domain -As you already have a domain with ENS, adding a custom domain is optional. Custom domain allows you to get the interface for a specific space on a custom domain. E.g., **** [https://vote.balancer.fi/\#/](https://vote.balancer.fi/#/) +As you already have a domain with ENS, adding a custom domain is optional. Custom domain allows you to get the interface for a specific space on a custom domain. E.g., _\*\*_ [https://vote.balancer.fi/\#/](https://vote.balancer.fi/#/) To add a custom domain you need to do a pull request on this repository: -{% embed url="https://github.com/snapshot-labs/snapshot-spaces" %} +{% embed url="https://github.com/snapshot-labs/snapshot-spaces" caption="" %} -#### Follow the Snapshot spaces directory tree +### Follow the Snapshot spaces directory tree ```bash └── spaces └── domains.json ``` -### Add a custom domain +## Add a custom domain -#### Set it in the Domain name field +### Set it in the Domain name field To add a custom domain, fill in the Domain name field in your settings. ![Domain name field in Snapshot settings.](../.gitbook/assets/capture-de-cran-2020-12-30-a-09.34.49.png) -#### Insert it in the domains**.json file** list +### Insert it in the domains**.json file** list To add your subdomain to Snapshot, you need to **edit the** **domains.json** file below. @@ -45,7 +45,7 @@ To prevent conflicts, it is recommended to add your subdomain between two existi } ``` -#### Configure your DNS +### Configure your DNS You will need to add this as CNAME in your domain DNS `snapshotpage.b-cdn.net` diff --git a/spaces/add-skin.md b/spaces/add-skin.md index f773bd9..da54a8d 100644 --- a/spaces/add-skin.md +++ b/spaces/add-skin.md @@ -6,16 +6,16 @@ description: Skins are optional. To create your own skin you need to do a pull request on this repository: -{% embed url="https://github.com/snapshot-labs/snapshot-spaces" %} +{% embed url="https://github.com/snapshot-labs/snapshot-spaces" caption="" %} -#### Follow the Snapshot skins directory tree +### Follow the Snapshot skins directory tree ```bash └── skins └── my-space.scss ``` -### Add your skin +## Add your skin To add your skin you will need to create a "my-space.scss" file in the "skins" directory. diff --git a/spaces/alternative-way-to-create-a-space.md b/spaces/alternative-way-to-create-a-space.md index 9ee10a2..0d459a0 100644 --- a/spaces/alternative-way-to-create-a-space.md +++ b/spaces/alternative-way-to-create-a-space.md @@ -2,16 +2,16 @@ If you do not want to have the wallet control your settings, you can follow the steps below to create a space on Snapshot. -### **Drawbacks** +## **Drawbacks** * You will not be able to change settings from the UI * Every time you want to change the settings, you will need to broadcast a new transaction -### **How to Create Space** +## **How to Create Space** -* Create a json file for your settings on Snapshot. The format of json file could be as follows: ****[https://github.com/snapshot-labs/snapshot.js/blob/master/test/examples/space.json](https://github.com/snapshot-labs/snapshot.js/blob/master/test/examples/space.json) +* Create a json file for your settings on Snapshot. The format of json file could be as follows: _\*\*_[https://github.com/snapshot-labs/snapshot.js/blob/master/test/examples/space.json](https://github.com/snapshot-labs/snapshot.js/blob/master/test/examples/space.json) * Store the json file on IPFS -* Use the IPFS link on the ENS text record. This will make the ENS owner the only controller of the settings. **** +* Use the IPFS link on the ENS text record. This will make the ENS owner the only controller of the settings. _\*\*_ ![](https://lh6.googleusercontent.com/qfA-Pj7o2Fvld76V2gZIJm9U1V0uRBgNdedfxU4iKjGDfE3cHH7KLMx26eawZPD0Zl8j3H7AAfFsToDdl9ViQ5Y7WyI8FACqVlkc5JG9zwcyZg877KmnH6cf2vleHnn-icWLGTg=s0) diff --git a/spaces/before-creating-your-space.md b/spaces/before-creating-your-space.md index 8e798d2..e1be3a9 100644 --- a/spaces/before-creating-your-space.md +++ b/spaces/before-creating-your-space.md @@ -6,19 +6,17 @@ If you already have an ENS domain, feel free to skip this and follow the guide b If you have never registered an ENS before or need help then checkout this guide: [https://docs.ens.domains/dns-registrar-guide](https://docs.ens.domains/dns-registrar-guide)​ or follow the following steps below. -### **Creating an ENS Domain** +## **Creating an ENS Domain** -**1.** Search for the availability of your name on ENS by going to the following link [https://app.ens.domains/](https://app.ens.domains/) +**1.** Search for the availability of your name on ENS by going to the following link [https://app.ens.domains/](https://app.ens.domains/) -**2.** If the name is available, you would be able to see the 3 steps and fee for registration. Please note that the names with 3 or 4 characters cost considerably more than the names with 5+ characters. -**** +**2.** If the name is available, you would be able to see the 3 steps and fee for registration. Please note that the names with 3 or 4 characters cost considerably more than the names with 5+ characters. ![](https://lh6.googleusercontent.com/iE8w0jmuNrDV7jtpFPUYxB0rgSF6SKpU8OTNdVlvMaYaem1MzHglWQ9S99h2Ub-PWVJTDvOBbxGKA_7OuNHe6-YIt003oEdvudCZG37xAuUXSmJP5PXl-1By7s8betevYzuID3c=s0) **3.** Connect to the wallet of your choice by pressing on the connect key on the top left corner of your screen. Make sure your wallet has enough balance to make the transaction successful. -**4.** Confirm all the transactions for the three steps from your chosen wallet. -**** +**4.** Confirm all the transactions for the three steps from your chosen wallet. ![](https://lh5.googleusercontent.com/d11GatKZ1P25f-uE1RphuiPEEf1V5ni-zX4hF4CKJYWaZUKWojmdbDw5wxxudYRVJMzoGxmP9MNhsh-lYVJEWdFu5zurWD1DXOkoYr6gMznyIRf0roFCuBXaimPdbmiqx_QNnqY=s0) diff --git a/spaces/create.md b/spaces/create.md index 35820e1..711f2ee 100644 --- a/spaces/create.md +++ b/spaces/create.md @@ -8,16 +8,16 @@ description: To create a space in Snapshot follow these steps. If you already have a space with GitHub see how to [Migrate your space to ENS](https://docs.snapshot.page/spaces/migrate). {% endhint %} -### 1. Get an ENS domain for your space +## 1. Get an ENS domain for your space You will need an ENS domain for creating your space, register one here: -[https://app.ens.domains](https://app.ens.domains/) +[https://app.ens.domains](https://app.ens.domains/) _You need an ENS domain on **Ethereum mainnet** even if you want to use Ethereum testnets or others networks \(Binance Smart Chain, xDAI... etc\)._ If you have never registered an ENS before or need help then checkout this guide:[ https://docs.ens.domains/dns-registrar-guide](https://docs.ens.domains/dns-registrar-guide) -### 2. Link your ENS domain to Snapshot +## 2. Link your ENS domain to Snapshot Once you have created your ENS domain, Go to this url and modify the tag with your ENS domain. `https://snapshot.org/#/`**``**`/settings` and login with the wallet that owns the ENS domain. @@ -42,11 +42,11 @@ If you are on your domain space and connected with your wallet you will see the ![](../.gitbook/assets/snapshot%20%281%29.gif) -### **3. Setup your space settings** +## **3. Setup your space settings** Refresh the Snapshot settings page `https://snapshot.org/#/`**``**`/settings` to see the space setting. -#### Profile +### Profile ![](../.gitbook/assets/profile-settings.png) @@ -67,9 +67,9 @@ Refresh the Snapshot settings page `https://snapshot.org/#/`**``**`/ * **Terms** links to your website's terms and conditions. * **Hide space from homepage** if you want to keep your space "private". -#### **Strategies** +### **Strategies** -A strategy is a JavaScript function which defines how the voting power is calculated. You need to add a voting strategy for your proposals. erc20-balance-of is the most used strategy. You can have multiple strategies and can have your custom strategies as well. +A strategy is a JavaScript function which defines how the voting power is calculated. You need to add a voting strategy for your proposals. erc20-balance-of is the most used strategy. You can have multiple strategies and can have your custom strategies as well. You need to add a voting strategy for your proposals. `erc20-balance-of` is the most used strategy. @@ -87,19 +87,19 @@ More information here: {% page-ref page="../strategies/" %} -#### Admins +### Admins The admins will be able to edit the space settings and moderate proposals. You must add one address per line. ![Add admins' addresses](../.gitbook/assets/add-admins-addresses.png) -#### Members +### Members Members will be able to create proposals without being constrained by filters. You must add one address per line. ![Add members' addresses](../.gitbook/assets/add-members-addresses.png) -#### Filters +### Filters * **Proposal threshold** is the minimum number of tokens required to create a proposal. * **Proposal validation** is a custom function to validate if someone can post a proposal or not. You can use the basic validation by default which takes your voting power with space strategies and checks if you pass a defined threshold. @@ -107,19 +107,19 @@ Members will be able to create proposals without being constrained by filters. Y ![](../.gitbook/assets/screenshot-179-.png) -#### Plugins +### Plugins Plugins give extra features for your space. More information here: {% page-ref page="../plugins/" %} -### 4. Save your settings +## 4. Save your settings Click "**Save**" then confirm the action in your wallet. You are all set! You can go on `https://snapshot.org/#/` to see your space. -### What you can do now**?** +## What you can do now**?** {% page-ref page="add-skin.md" %} diff --git a/spaces/migrate.md b/spaces/migrate.md index 1b74e09..dff933f 100644 --- a/spaces/migrate.md +++ b/spaces/migrate.md @@ -2,22 +2,22 @@ If you already have a space in Snapshot which does not have an ENS name, you need to migrate your space to ENS. The following guide takes through the procedures of how to successfully migrate your space to ENS. -### 1. Create a space with ENS +## 1. Create a space with ENS -To migrate your space you will need first to create the space with ENS. - -You can use this url to get your previous space settings populated in the form: https://snapshot.page/\#/**<ens\_space\_id>**/settings/**<previous\_space\_id>** -Example: https://snapshot.page/\#/**yam.eth**/settings/**yam** +To migrate your space you will need first to create the space with ENS. + +You can use this url to get your previous space settings populated in the form: [https://snapshot.page/\#/\*\*<ens\_space\_id>\*\*/settings/\*\*<previous\_space\_id>\*\*](https://snapshot.page/#/****/settings/****) +Example: [https://snapshot.page/\#/\*\*yam.eth\*\*/settings/\*\*yam\*\*](https://snapshot.page/#/**yam.eth**/settings/**yam**) {% page-ref page="create.md" %} -### 2. Declare your new space alias +## 2. Declare your new space alias To add your new space alias you need to do a pull request on this repository: -{% embed url="https://github.com/snapshot-labs/snapshot-spaces" %} +{% embed url="https://github.com/snapshot-labs/snapshot-spaces" caption="" %} -#### Follow the Snapshot spaces directory tree +### Follow the Snapshot spaces directory tree ```bash └── spaces @@ -32,7 +32,7 @@ You must add your new alias in the [aliases.json file](https://github.com/snapsh } ``` -### 3. Migrate proposals, votes and urls +## 3. Migrate proposals, votes and urls The migration of the proposals, votes and urls is done manually, once your space with ENS is ready please contact an admin on [Discord](https://discord.snapshot.page) to do the changes. diff --git a/strategies/README.md b/strategies/README.md index 328c144..6518f1b 100644 --- a/strategies/README.md +++ b/strategies/README.md @@ -1,12 +1,10 @@ # Strategies -### What is a strategy +## What is a strategy {% page-ref page="what-is-a-strategy.md" %} -### Create a new strategy +## Create a new strategy {% page-ref page="create.md" %} - - diff --git a/strategies/create.md b/strategies/create.md index 57724ff..14ae09c 100644 --- a/strategies/create.md +++ b/strategies/create.md @@ -6,9 +6,9 @@ description: Create a strategy and use it on your own space To add your own strategy on Snapshot you need to fork the **snapshot-strategies** repository and create pull request. -{% embed url="https://github.com/snapshot-labs/snapshot-strategies" %} +{% embed url="https://github.com/snapshot-labs/snapshot-strategies" caption="" %} -### 1. Navigate to the **`src\strategies`** +## 1. Navigate to the **`src\strategies`** ```bash └── src @@ -16,19 +16,19 @@ To add your own strategy on Snapshot you need to fork the **snapshot-strategies* └── erc20-balance-of ``` -### 2. Create a copy of the **`erc20-balance-of`** strategy folder and rename it to the name of your strategy +## 2. Create a copy of the **`erc20-balance-of`** strategy folder and rename it to the name of your strategy -### 3. Write the logic of your strategy, include it in\*\*`src\strategies\index.ts` and test it with: +## 3. Write the logic of your strategy, include it in\*\*`src\strategies\index.ts` and test it with: ```javascript npm run test --strategy= // replace ``` -### 4. Make sure you pass the checklist +## 4. Make sure you pass the checklist Have a look here on the requirements for adding a new strategy and make sure you full fill the points in the checklist: [https://github.com/snapshot-labs/snapshot.js/issues/212](https://github.com/snapshot-labs/snapshot.js/issues/212) -### 5. Create a pull request +## 5. Create a pull request The team will then review your PR and after it's approved and merged it will be available in your space settings. diff --git a/strategies/what-is-a-strategy.md b/strategies/what-is-a-strategy.md index f2cab8d..aa0e7f7 100644 --- a/strategies/what-is-a-strategy.md +++ b/strategies/what-is-a-strategy.md @@ -6,7 +6,7 @@ A strategy is a JavaScript function that returns a score for a set of addresses. Here is an example with the most common strategy called `erc20-balance-of`. -{% embed url="https://github.com/snapshot-labs/snapshot-strategies/blob/master/src/strategies/erc20-balance-of/index.ts" %} +{% embed url="https://github.com/snapshot-labs/snapshot-strategies/blob/master/src/strategies/erc20-balance-of/index.ts" caption="" %} ```javascript import { formatUnits } from "@ethersproject/units"; @@ -68,5 +68,5 @@ Strategies can be used to create a score from on-chain data, the data does not n ### Find more strategies here: -{% embed url="https://github.com/snapshot-labs/snapshot-strategies/blob/master/src/strategies" %} +{% embed url="https://github.com/snapshot-labs/snapshot-strategies/blob/master/src/strategies" caption="" %} diff --git a/webhooks.md b/webhooks.md index 11d70df..ece098e 100644 --- a/webhooks.md +++ b/webhooks.md @@ -6,7 +6,7 @@ description: Receive event notifications with webhooks Snapshot uses webhooks to notify your application when an event happens. Webhooks are particularly useful for asynchronous events like when a proposal is created, when it start or when it end. -The webhook server send requests for any new event, the request are sent to custom url with `POST` method and the event object as body. +The webhook server send requests for any new event, the request are sent to custom url with `POST` method and the event object as body. **Here is an example of event object:** @@ -21,19 +21,19 @@ The webhook server send requests for any new event, the request are sent to cust **Here are the possible events:** -`proposal/created` +`proposal/created` When a new proposal is created -`proposal/start` +`proposal/start` When the voting period for a proposal start. -`proposal/end` +`proposal/end` When the voting period for a proposal end. -`proposal/deleted` +`proposal/deleted` When a proposal is deleted by the author or an admin of the space. -### Subscribe to events +## Subscribe to events If you want to subscribe to webhooks please contact us on Discord or Telegram. You will need to provide an URL to receive the webhooks requests.