# \[Proposal\] Modern Near JS SDK

**URL:** <https://gov.near.org/t/proposal-modern-near-js-sdk/20437>\
**Category:** Projects\
**Tags:** community, proposals\
**Created:** [May 6, 2022, 4:55pm UTC](https://gov.near.org/t/proposal-modern-near-js-sdk/20437 "2022-05-06T16:55:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![toxamagic](https://avatars.discourse-cdn.com/v4/letter/t/35a633/32.png) [@toxamagic](https://gov.near.org/u/toxamagic)\
**Post date:** [May 6, 2022, 4:55pm UTC](https://gov.near.org/t/proposal-modern-near-js-sdk/20437/1 "2022-05-06T16:55:13Z")

</div>

We are MagicPowered ([https://magicpowered.io](https://magicpowered.io)), the group of developers who build different applications for the Near ecosystem.

Projects like web3.js and ether.js inspire us, and we want to bring the web3 best practices into the Near developer community.  
So we are implementing the new open-source Javascript/Typescript SDK for Near applications to simplify further dApps development significantly.

**Why are we doing this?**

- Our group is building many products in the Near ecosystem, and we need a consistent and maintainable core piece for them.
- We can provide strong support and maintenance for the project since we are interested in having a well-designed library that supports the full power of the Near blockchain.
- We build many different projects that leverage various aspects of blockchain interactions. So we can provide a good simplification for the most common use cases.
- We want to help the Near community and enable fast growth of the dApps created in the ecosystem. Decrease the learning curve for the new developers.

**What exactly we are implementing?**

- The core library with essential parts and entities
- The set of supportive libraries provides specific domain functionality.
- Define and solve common use-cases based on our experience and near-api-js issues/questions for different project types.
- Provide tools to interact with standardised smart contracts to simplify development. (like NEP smart contracts interfaces and many more)
- Segregate SDK interfaces: Web library, CLI library, Backend library

**Why do we need money?**

- Be able to dedicate the best architects and developers as robust resources to design, implement and maintain the library.
- Library marketing
- Community support, first security audit

**Funding details:**

We need 10000 Near in total  
receiver: magicpowered.near

**The development milestones:**

- Initial design and base functionality implementation (core library): 1 Month
- Edge cases coverage and supportive library implementation (SDK toolset, web lib, backend lib, cli lib): 1 Month
- Maintenance and bug fixes: continuous activity

**DAO Proposal:** [Astro](https://app.astrodao.com/dao/human.sputnik-dao.near/proposals/human.sputnik-dao.near-99)

---

<div class="post-metadata">

**Author:** ![Serhii](https://dub1.discourse-cdn.com/flex005/user_avatar/gov.near.org/serhii/32/3409_2.png) [@Serhii](https://gov.near.org/u/Serhii)\
**Post date:** [May 26, 2022, 9:34am UTC](https://gov.near.org/t/proposal-modern-near-js-sdk/20437/2 "2022-05-26T09:34:18Z")

</div>

This is definitely an excellent idea to improve client-side development on NEAR. But I do not think that we need to rewrite everything from scratch. 2/3 of **near-api-js** codebase is good. Our plans also include separating it into **web** , **node** , and **core** packages.

Some helpers to interact with NEP smart contracts is also a great idea. I would start from FT and NFT NEPs.

More packages are also welcomed, but let’s clarify what kind of new helper packages you want to add.

@MaximusHaximus do you think we can get some external help for **near-api-js**?

One more recommendation is to split this proposal into several ones. Like: **Separate naj into 3+ packages** , **Add FT/NFT functionality** , **Add helper libraries** , etc.

---

<div class="post-metadata">

**Author:** ![toxamagic](https://avatars.discourse-cdn.com/v4/letter/t/35a633/32.png) [@toxamagic](https://gov.near.org/u/toxamagic)\
**Post date:** [June 6, 2022, 7:02pm UTC](https://gov.near.org/t/proposal-modern-near-js-sdk/20437/3 "2022-06-06T19:02:03Z")

</div>

here I’ve described the list of things I want to see as a developer in the library.  
all of them I would see as a separate library that I can install without installation of other ones

> **[GitHub - magic-powered/near.js](https://github.com/Magic-Powered/near.js)**
>
> Contribute to magic-powered/near.js development by creating an account on GitHub.

I’d reuse the code from existing library, but given that I see completely different structure, I think most of the code in the library will be new
