Skip to content

Commit

Permalink
Merge pull request #315 from omahs/patch-2
Browse files Browse the repository at this point in the history
Fix typos
  • Loading branch information
aaronpenne authored Sep 9, 2024
2 parents 9342301 + 2c9075e commit ffe4b0b
Show file tree
Hide file tree
Showing 16 changed files with 25 additions and 25 deletions.
2 changes: 1 addition & 1 deletion art-blocks-101/on-chain.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ Some NFTs (like some Art Blocks project tokens) may rely on published software l

Art Blocks Flagship and Art Blocks Engine NFTs only rely on fully on-chain storage solutions, plus allowing a single dependency to be housed on a software registry. This provides an extremely high level of confidence that the NFTs will remain fully accessible and immutable for the foreseeable future.

While Art Blocks originally relied on widly used software registries to house dependencies, the Art Blocks team has since created a **fully on-chain software registry called the [Art Blocks Dependency Registry](https://github.com/ArtBlocks/artblocks-contracts/blob/main/packages/contracts/README.md#dependencyregistry)**. The registry is fully decentralized and is used by all Art Blocks Flagship NFTs. The registry enables dependencies to be stored fully on-chain, when the gas costs are justified. Art Blocks uploaded their first dependency, p5js v1.0.0, to the registry in January 2024, retiring any doubt that projects relying on [email protected] would ever be unable to generate their outputs in the future.
While Art Blocks originally relied on widely used software registries to house dependencies, the Art Blocks team has since created a **fully on-chain software registry called the [Art Blocks Dependency Registry](https://github.com/ArtBlocks/artblocks-contracts/blob/main/packages/contracts/README.md#dependencyregistry)**. The registry is fully decentralized and is used by all Art Blocks Flagship NFTs. The registry enables dependencies to be stored fully on-chain, when the gas costs are justified. Art Blocks uploaded their first dependency, p5js v1.0.0, to the registry in January 2024, retiring any doubt that projects relying on [email protected] would ever be unable to generate their outputs in the future.

### Engine Flex

Expand Down
4 changes: 2 additions & 2 deletions art-blocks-api/api-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ In addition to the standard static renders provided for each token, there are tw
- HD Renders – `https://media.artblocks.io/hd/{tokenID}.png`
- Thumbnail Renders – `https://media.artblocks.io/thumb/{tokenID}.png`

Please note that these additional static render formats are still currently being back-filled and may not yet be present for all tokens. Our current recommendation for those looking to depend on the "HD" or "thumbnail" responses is to a) first attempt the HD/thumb image resource that you would pefer, b) if this resource is not available, fall back to the standard sized image resource. For the current state of the ongoing backfill of HD and thumbnail assets, please refer to [this spreadsheet](https://docs.google.com/spreadsheets/d/1Li6TMieXL3MENtg5sq9omRVPsa8MWWb7eZU1uDwYxvU/edit?usp=drive_web&ouid=100711456886886984200).
Please note that these additional static render formats are still currently being back-filled and may not yet be present for all tokens. Our current recommendation for those looking to depend on the "HD" or "thumbnail" responses is to a) first attempt the HD/thumb image resource that you would prefer, b) if this resource is not available, fall back to the standard sized image resource. For the current state of the ongoing backfill of HD and thumbnail assets, please refer to [this spreadsheet](https://docs.google.com/spreadsheets/d/1Li6TMieXL3MENtg5sq9omRVPsa8MWWb7eZU1uDwYxvU/edit?usp=drive_web&ouid=100711456886886984200).

Please also note that the Generator API and Media API links for a given token are included in the token response for that token from the Token API.

Expand Down Expand Up @@ -436,4 +436,4 @@ const response = await fetch(AB_GRAPHQL_ENDPOINT, {

For a full detailed overview of this GraphQL API, please reference: https://docs.artblocks.io/public-api-docs/

Additionally, you can use this interactive Hasura plaground to test out queries: https://cloud.hasura.io/public/graphiql?endpoint=https://data.artblocks.io/v1/graphql
Additionally, you can use this interactive Hasura playground to test out queries: https://cloud.hasura.io/public/graphiql?endpoint=https://data.artblocks.io/v1/graphql
2 changes: 1 addition & 1 deletion art-blocks-api/artblocks-viewer.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ This is a running list of contract addresses for various Art Blocks and Engine

## Customizable Display

You can create a customizable display for any route on artblocks-viewer. This is done through query params added to the end of the url. In order to activate this ability you must first add `?useCustomViewParams=true` to the end of the whatever route you are using. [Here](https://live.artblocks.io/token/0x059edd72cd353df5106d2b9cc5ab83a52287ac3a-71?useCustomViewParams=true) is the most basic customized url of Chromie Squiggle mint #71 with just the squiggle centered in the middle of the page.
You can create a customizable display for any route on artblocks-viewer. This is done through query params added to the end of the url. In order to activate this ability you must first add `?useCustomViewParams=true` to the end of whatever route you are using. [Here](https://live.artblocks.io/token/0x059edd72cd353df5106d2b9cc5ab83a52287ac3a-71?useCustomViewParams=true) is the most basic customized url of Chromie Squiggle mint #71 with just the squiggle centered in the middle of the page.

All of the customization that can be done and the default values are as follows:

Expand Down
4 changes: 2 additions & 2 deletions art-blocks-api/entities.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Description: get various details about a specific project
| artist | Account! | Artist that created the project |
| artistAddress | Bytes! | Wallet address of the artist |
| artistName | String | Artist name |
| baseIpfsUri | String | Uniform Resource Identifier Interplanetary File System (IPFS) of of a nonfungible token |
| baseIpfsUri | String | Uniform Resource Identifier Interplanetary File System (IPFS) of a nonfungible token |
| baseUri | String | The base URI is the mutual part among each NFT's URI. By default, the URI is baseURI/tokenId |
| complete | Boolean! | A project is complete when it has reached its maximum invocations |
| completedAt | BigInt | Timestamp at which a project was completed |
Expand Down Expand Up @@ -75,7 +75,7 @@ Description: get various details about a specific project
| website | String | Artist or project website |
| proposedArtistAddressesAndSplits | ProposedArtistAddressesAndSplit | Proposed Artist addresses and payment split percentages |
| owners | [AccountProject!](#accountproject) | Accounts that own tokens of the project |
| createdAt | BigInt! | When project inititated |
| createdAt | BigInt! | When project initiated |
| updatedAt | BigInt! | When project updated |
| activatedAt | BigInt | WHen project activated |
| scriptUpdatedAt | BigInt | when the script was updated |
Expand Down
2 changes: 1 addition & 1 deletion art-blocks-api/queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ You can build your own queries using a [GraphQL Explorer](https://graphiql-onlin

## Subgraph Querying Walkthrough

The following provides some examples on how to use the Art Blocks subgraph to perform a handful of common queries.
The following provides some examples of how to use the Art Blocks subgraph to perform a handful of common queries.

#### Important Notes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,13 @@ window.generateEmbroiderySVG = function(width, height) {
In order to correctly generate files for embroidery, you must:

- [ ] Implement a `generateEmbroiderySVG` global function that returns the full markup of an `<svg>` element as a string
- [ ] *Optional:* accept a `width` and `height` parameter (millimeters) used to resize the contents of the SVG to accomodate different garment sizes
- [ ] *Optional:* accept a `width` and `height` parameter (millimeters) used to resize the contents of the SVG to accommodate different garment sizes
- [ ] Render a digital-only version of the art using a separate `<svg>` or `<canvas>` that is displayed to the user and thumbnailed in token metadata (similar to any digital-only Art Blocks project)
- [ ] Inline all libraries and code used in your project that are not configured as an on-chain dependency

## Known Limitations

- [ ] Avoid using SVG fills - instead, to create the visual appearance of a fill, the SVG should contains the exact paths the embroidery needle should follow
- [ ] Avoid using SVG fills - instead, to create the visual appearance of a fill, the SVG should contain the exact paths the embroidery needle should follow
- [ ] Avoid using asynchronous code or promises inside of the `generateEmbroiderySVG` function - the function should return valid SVG markup immediately
- [ ] Provide margins (bleed) matching the precision of the embroidery machine to improve manufacturing yield
- [ ] Match all colors used in your design to the colors of thread available to you for embroidering
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ OpenSea - https://docs.opensea.io/docs/10-setting-fees-on-secondary-sales
LooksRare - https://docs.looksrare.org/guides/collection-management/set-or-edit-collection-royalties
x2y2 - https://docs.x2y2.io/guides/collection-management/manage-your-collection

Note: The vast majority of secondary activity takes place on OpenSea. Currently, OpenSea does not recognize on-chain roylaties and needs to be set through their interface. However, they plan to recognize [Roylaty Registry](https://royaltyregistry.xyz/lookup) in the near-ish future. We highly encourage you to sign up for the Royalty Registry to avoid missed secondary roylaties.
Note: The vast majority of secondary activity takes place on OpenSea. Currently, OpenSea does not recognize on-chain royalties and needs to be set through their interface. However, they plan to recognize [Roylaty Registry](https://royaltyregistry.xyz/lookup) in the near-ish future. We highly encourage you to sign up for the Royalty Registry to avoid missed secondary royalties.

Instructions on setting up Royalty Registry - https://docs.artblocks.io/creator-docs/art-blocks-engine-onboarding/art-blocks-engine-101/engine-royalty-registry-setup/

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ There are slight variations between V2 and V3 contracts, which will be noted in
- (V2 only) Price-per-mint specified in WEI (e.g., 350000000000000000, or 0.35 ETH)
2. Navigate to your Engine Core Contract on Etherscan and connect your wallet. You can find this link in your `DEPLOYMENTS.md` log. [https://goerli.etherscan.io/address/0xd2363Acbf8CdF01A5FdfcB8f0295e0a5dF94518D#code](https://goerli.etherscan.io/address/0xd2363Acbf8CdF01A5FdfcB8f0295e0a5dF94518D#code))
3. Click the "Write contract" tab and use the `addProject` method to create a new project shell, specifying the information collected in step 1.
4. Connect to the Art Blocks website with the artist wallet used in in Step 3. Your artist should be able to begin entering project details.
4. Connect to the Art Blocks website with the artist wallet used in Step 3. Your artist should be able to begin entering project details.

Testnet URL: `https://artist-staging.artblocks.io/engine/[flex OR fullyonchain]/projects/[coreContractAddress]/[projectID]`
example: https://artist-staging.artblocks.io/engine/flex/projects/0x28b82AA5bb6d00363ae0FBC5ecaD689Ae49BC82B/0
Expand Down Expand Up @@ -73,7 +73,7 @@ Before minting your first token (#0) on your new project shell, verify the follo

## Pre-launch (pre-open-minting) Flight Check

For a project to be avaialble for public purchase, the project must be activated by the admin, and unpaused by the artist.
For a project to be available for public purchase, the project must be activated by the admin, and unpaused by the artist.

tldr:
inactive + paused (default state) = private project shell and unable to purchase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ For Engine contracts, the following addresses may receive royalties:

## Configuring Royalties

V3 and V2 Engine contracts are configured differently. V3 Engine contracts are the latest version of the Art Blocks Engine contracts. Since they were designed after the Royalty Registry was released, they automatically integrate with with the Royalty Registry. V2 Engine contracts also integrate with the Royalty Registry, but have a shim-layer that must also be configured. This is because V2 Engine contracts were designed before the Royalty Registry was released.
V3 and V2 Engine contracts are configured differently. V3 Engine contracts are the latest version of the Art Blocks Engine contracts. Since they were designed after the Royalty Registry was released, they automatically integrate with the Royalty Registry. V2 Engine contracts also integrate with the Royalty Registry, but have a shim-layer that must also be configured. This is because V2 Engine contracts were designed before the Royalty Registry was released.

## Configuring V3 Engine Contracts

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Note that for IPFS/Arweave external asset dependencies if your CID is pointing t

## Loading JS Libraries As External Asset Dependencies

If you are specifically looking to utilize an IPFS/ARWEAVE type external asset dependency as a JavaScript library in your project script, you cannot simply add it as a script element onto the page. You must load it in a blocking manner so that the browser does not attempt to run your project script code before the lib is fully loaded. Here is an example of how to do this with ES6 dynamic imports (supported by most modern browsers: https://caniuse.com/es6-module-dynamic-import):
If you are specifically looking to utilize an IPFS/ARWEAVE type external asset dependency as a JavaScript library in your project script, you cannot simply add it as a script element onto the page. You must load it in a blocking manner so that the browser does not attempt to run your project script code before the lib is fully loaded. Here is an example of how to do this with ES6 dynamic imports (supported by most modern browsers: https://caniuse.com/es6-module-dynamic-import):

```js
(async () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ Then, select your bucket from the Buckets menu and select 'Upload'. You can choo

You will be prompted to select a file from your computer. Once uploaded, it'll be displayed in the Filebase web console and it will be given an IPFS CID value. ![cid](/static/Filebase_setup6.png)

When a file is uploaded to IPFS, the file’s contents are used to generate a cryptographic hash value. Then, this hash value is used to generate another value, which is used as the file’s content identifier (CID). CIDs are used to access files stored on IPFS, but instead of locating the file on the network based on it's name, the CID is based on the file's contents. Any changes to the file's contents or metadata will result in a new, unique CID.
When a file is uploaded to IPFS, the file’s contents are used to generate a cryptographic hash value. Then, this hash value is used to generate another value, which is used as the file’s content identifier (CID). CIDs are used to access files stored on IPFS, but instead of locating the file on the network based on its name, the CID is based on the file's contents. Any changes to the file's contents or metadata will result in a new, unique CID.

The CID value is what is used within an Art Blocks generative script, under the 'CID' field.

To preview your file using it's IPFS CID and the Filebase public gateway, you can use the following URL format in any web browser:
To preview your file using its IPFS CID and the Filebase public gateway, you can use the following URL format in any web browser:

https://ipfs.filebase.io/ipfs/[CID]

Expand Down
4 changes: 2 additions & 2 deletions art-blocks-engine-onboarding/art-blocks-engine-101/faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ We cannot deploy your contract until you provide the above information. **The na

No, partners are responsible for creating and designing their customer-facing experience.

However, we do have a [front-end React template](https://github.com/ArtBlocks/artblocks-engine-react) with web3 functionality you need to launch a minting site. You will still be responsible for designing the user exerpeicne, but this significantly reduces the time needed to complete a front-end.
However, we do have a [front-end React template](https://github.com/ArtBlocks/artblocks-engine-react) with web3 functionality you need to launch a minting site. You will still be responsible for designing the user experience, but this significantly reduces the time needed to complete a front-end.

## How long will each stage of the process take?

Expand Down Expand Up @@ -176,7 +176,7 @@ On the other hand, each **Minter contract** allows you to set max invocations fo

## How does `autoApproveArtistSplitProposals` work?

When `true`, `aproveArtistSplitProposals` is a feature thatallows artists to automatically change their royalty split payout address and the split percentage without requiring approval from the contract admin. This makes the process faster and more convenient for artists but may increase the risk of unauthorized changes to royalty wallets, which could complicate accounting or OFAC compliance.
When `true`, `aproveArtistSplitProposals` is a feature that allows artists to automatically change their royalty split payout address and the split percentage without requiring approval from the contract admin. This makes the process faster and more convenient for artists but may increase the risk of unauthorized changes to royalty wallets, which could complicate accounting or OFAC compliance.

If set to `else` the contract admin will need to approve any changes to the artist's royalty wallet, adding a layer of security and control.

Expand Down
Loading

0 comments on commit ffe4b0b

Please sign in to comment.