@paw-wallet/game
v0.0.16
Published
🛠 An Game <> Wallet SDK - PanWallet
Downloads
7
Readme
Sdk For Game <> Wallet to interact with each other
- Make sure the game open via iframe
- Game <> Wallet interact via postMessage event.
How to install local
- Create file
.npmrc
in the root folder, with the content:
@digi-money:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=your_token
- Visit https://github.com/settings/tokens to create Classic Token if you don't have (at least has role
read:packages
) - Ping admin to add to whitelist at this link
- Run
npm install @digi-money/game
Install via git workflow
- Add
registry-url
,scope
andNODE_AUTH_TOKEN
...
- name: Set up Node.js
uses: actions/setup-node@v1
with:
node-version: 20.x
registry-url: 'https://npm.pkg.github.com'
scope: '@digi-money'
...
- name: Install dependencies
uses: bahmutov/npm-install@HEAD
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} ### authen npm
...
- Add your repo to
Manage Actions access
in at this link
How to use
Basic usage
const config = {
gameId: GAME_IDS.ROBOT_CAT
}
const panGameInstance = new PanGame(config); // Make sure call this line once
// connect wallet
const requestId = panGameInstance.connectWallet({
chainId: ChainId.SOLANA,
gameInfo: {
name: "Game Robot & Cat",
logoUrl: "https://your_logo.png",
},
});
// to get data
const requestId = panGameInstance.getData({
chainId: ChainId.SOLANA,
method: ROBOT_CAT_GAME_FUNCTIONS.fetchPlayer,
payload: {}
});
// to update data
const requestId = panGameInstance.updateData({
chainId: ChainId.SOLANA,
method: ROBOT_CAT_GAME_FUNCTIONS.upgrade,
payload: {} // payload of upgrade function
});
// to estimate gas
const requestId = panGameInstance.estimateGasUpdateData({
chainId: ChainId.SOLANA,
method: ROBOT_CAT_GAME_FUNCTIONS.upgrade,
payload: {} // payload of upgrade function
});
Use by specific usecase
- See the code example at here
- Demo: Visit at here https://t.me/danh_wallet_bot/wallet, and click to a game
How to publish this package
- Create file
.npmrc
in root folder, with content same as above - Update version in package.json
- Run
npm publish
- Check here