Skip to content

Conversation

@garikbesson
Copy link
Contributor

No description provided.

@garikbesson garikbesson requested a review from bucanero as a code owner October 31, 2025 12:37
@github-project-automation github-project-automation bot moved this to NEW❗ in DevRel Oct 31, 2025
@garikbesson garikbesson changed the title Using contract tools package to create FT tutorial [DRAFT] Using contract tools package to create FT Oct 31, 2025
@bucanero bucanero temporarily deployed to ft-contract-tools-tutorial - docs.near.org PR #2853 November 7, 2025 12:08 — with Render Destroyed
@garikbesson garikbesson changed the title [DRAFT] Using contract tools package to create FT Using contract tools package to create FT Nov 7, 2025
Comment on lines +19 to +22
- NEP-141 (fungible token), extension NEP-148.
- NEP-145 (storage management), and integrations for the fungible token and non-fungible token standards.
- NEP-171 (non-fungible token), extensions NEP-177, NEP-178, NEP-181.
- NEP-297 (events).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add links to the NEPs for better cross-reference.

Suggested change
- NEP-141 (fungible token), extension NEP-148.
- NEP-145 (storage management), and integrations for the fungible token and non-fungible token standards.
- NEP-171 (non-fungible token), extensions NEP-177, NEP-178, NEP-181.
- NEP-297 (events).
- [NEP-141](https://github.com/near/NEPs/blob/master/neps/nep-0141.md) (fungible token), extension NEP-148.
- NEP-145 (storage management), and integrations for the fungible token and non-fungible token standards.
- NEP-171 (non-fungible token), extensions NEP-177, NEP-178, NEP-181.
- NEP-297 (events).


The difference of this example from the [FT contract](https://github.com/near-examples/FT) based on `near_contract_standards` package is the approach of using deriving macros to implement NEP standards and common patterns.

When we use deriving macros, we can bring `near_contract_standards` implementations into our contract without writing boilerplate code for the each method. That allows us to focus on the unique logic of our contract like minting/burning logic, access control, other custom features. So, this collection of common tools and patterns (mostly in the form of derive macros) is as a sort of OpenZeppelin for NEAR.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When we use deriving macros, we can bring `near_contract_standards` implementations into our contract without writing boilerplate code for the each method. That allows us to focus on the unique logic of our contract like minting/burning logic, access control, other custom features. So, this collection of common tools and patterns (mostly in the form of derive macros) is as a sort of OpenZeppelin for NEAR.
When we use deriving macros, we can bring `near_contract_standards` implementations into our contract without writing boilerplate code for each method. That allows us to focus on the unique logic of our contract like minting/burning logic, access control, other custom features. So, this collection of common tools and patterns (mostly in the form of derive macros) is as a sort of OpenZeppelin for NEAR.

- `storage_unregister`
- `storage_withdraw`

To bring basic owner methods to our contract, we derived also `Owner` macro which adds the following methods:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To bring basic owner methods to our contract, we derived also `Owner` macro which adds the following methods:
To bring basic owner methods to our contract, we also derived the `Owner` macro which adds the following methods:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: NEW❗

Development

Successfully merging this pull request may close these issues.

4 participants