Skip to content

Commit d97eb19

Browse files
committed
updates readme
1 parent 14a9e75 commit d97eb19

File tree

1 file changed

+53
-13
lines changed

1 file changed

+53
-13
lines changed

README.md

Lines changed: 53 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
<p align="left">
2-
<a href="https://magic.link/docs/home/welcome">
2+
<a href="https://docs.magic.link/home/welcome">
33
<img src="https://media.graphassets.com/T9TXZhcNRVm211eyMh3u" alt="Logo" width="270" height="auto">
44
</a>
55
</p>
66

77
# Magic JavaScript SDK
88

9-
[![<MagicLabs>](https://app.circleci.com/pipelines/github/magiclabs/magic-js.svg?style=shield)](https://app.circleci.com/pipelines/github/magiclabs/magic-js)
10-
119
> The Magic JavaScript SDK empowers developers to provide frictionless web3 onboarding to their end-users while preserving their security and privacy using non-custodial wallets.
1210
1311
<p align="center">
@@ -54,16 +52,60 @@ Then, you can start authenticating users with _just one method!_ Magic works acr
5452

5553
```ts
5654
import { Magic } from 'magic-sdk';
57-
import Web3 from 'web3';
55+
import { ethers } from 'ethers';
5856

5957
const magic = new Magic('YOUR_API_KEY', {
60-
network: 'goerli',
58+
network: 'sepolia',
6159
});
6260

63-
const web3 = new Web3(magic.rpcProvider);
61+
const provider = new ethers.BrowserProvider(magic.rpcProvider);
6462
const accounts = await magic.wallet.connectWithUI();
6563
```
6664

65+
With network switching:
66+
67+
> Network switching is available on web SDK version 31.0.0+ and React Native SDKs version 32.0.0+
68+
69+
```ts
70+
import { Magic } from 'magic-sdk';
71+
import { SolanaExtension } from '@magic-ext/solana';
72+
import { EVMExtension } from '@magic-ext/evm';
73+
import { ethers } from 'ethers';
74+
75+
const customPolygonOptions = {
76+
rpcUrl: 'https://polygon-rpc.com/', // Polygon RPC URL
77+
chainId: 137, // Polygon chain id
78+
default: true, // Set as default network
79+
};
80+
81+
const customOptimismOptions = {
82+
rpcUrl: 'https://mainnet.optimism.io',
83+
chainId: 10,
84+
};
85+
86+
const magic = new Magic(API_KEY, {
87+
extensions: [
88+
new EVMExtension([customPolygonOptions, customOptimismOptions]),
89+
new SolanaExtension({
90+
rpcUrl: 'https://api.devnet.solana.com',
91+
}),
92+
],
93+
});
94+
95+
const provider = new ethers.BrowserProvider(magic.rpcProvider);
96+
97+
const network = await provider.getNetwork();
98+
console.log(network.chainId); // => 137
99+
100+
magic.evm.switchEVMChain(10);
101+
102+
const network = await provider.getNetwork();
103+
console.log(network.chainId); // => 10
104+
105+
const solanaPublicAddress = await magic.solana.getPublicAddress();
106+
console.log(solanaPublicAddress); // => "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"
107+
```
108+
67109
## 📦 Package Ecosystem
68110

69111
### Entry points
@@ -84,13 +126,11 @@ Extend Magic JS SDK functionality for your use-case through [`@magic-ext/*` pack
84126

85127
These are packages Magic JS SDK uses internally to work seamlessly across platforms.
86128

87-
| Package Name | Changelog | Description |
88-
| -------------------------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
89-
| [`@magic-sdk/types`](https://www.npmjs.com/package/@magic-sdk/types) | [CHANGELOG](./packages/@magic-sdk/types/CHANGELOG.md) | Core typings shared between JavaScript entry-points of Magic SDK. |
90-
| [`@magic-sdk/pnp`](https://www.npmjs.com/package/@magic-sdk/pnp) | [CHANGELOG](./packages/@magic-sdk/pnp/CHANGELOG.md) | A lightweight connector that wraps Magic JS authentication with a beautiful, functional out-of-the-box login form. |
91-
| [`@magic-sdk/provider`](https://www.npmjs.com/package/@magic-sdk/provider) | [CHANGELOG](./packages/@magic-sdk/provider/CHANGELOG.md) | Core business logic shared between JavaScript entry-points of Magic SDK. |
92-
| [`@magic-sdk/commons`](https://www.npmjs.com/package/@magic-sdk/commons) | [CHANGELOG](./packages/@magic-sdk/commons/CHANGELOG.md) | Exposes a listing of common public APIs from `@magic-sdk/provider` and `@magic-sdk/types` to the platform-specific entry points. |
93-
| [`@magic-sdk/types`](https://www.npmjs.com/package/@magic-sdk/types) | [CHANGELOG](./packages/@magic-sdk/types/CHANGELOG.md) | Core typings for Magic SDK packages. |
129+
| Package Name | Changelog | Description |
130+
| -------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------ |
131+
| [`@magic-sdk/types`](https://www.npmjs.com/package/@magic-sdk/types) | [CHANGELOG](./packages/@magic-sdk/types/CHANGELOG.md) | Core typings shared between JavaScript entry-points of Magic SDK. |
132+
| [`@magic-sdk/provider`](https://www.npmjs.com/package/@magic-sdk/provider) | [CHANGELOG](./packages/@magic-sdk/provider/CHANGELOG.md) | Core business logic shared between JavaScript entry-points of Magic SDK. |
133+
| [`@magic-sdk/types`](https://www.npmjs.com/package/@magic-sdk/types) | [CHANGELOG](./packages/@magic-sdk/types/CHANGELOG.md) | Core typings for Magic SDK packages. |
94134

95135
## 🚦 Testing
96136

0 commit comments

Comments
 (0)