Перейти к основному содержимому

Установка и подключение

Установите Pali как браузерное расширение, разблокируйте его и откройте dapp. Pali внедряет провайдеры в страницы верхнего уровня, чтобы приложения могли запрашивать аккаунты и действия.

Обнаружить Pali

Используйте EIP-6963 для EVM-интеграций, когда он доступен. Он позволяет пользователям и dapps отличать Pali от других кошельков даже когда несколько расширений внедряют провайдеры.

const providers = [];

window.addEventListener('eip6963:announceProvider', (event) => {
providers.push(event.detail);
});

window.dispatchEvent(new Event('eip6963:requestProvider'));

const pali = providers.find(({ info }) => {
const name = info.name.toLowerCase();
const rdns = info.rdns.toLowerCase();
return name.includes('pali') || rdns.includes('pali');
});

Для UTXO и Syscoin flows проверьте window.pali.

if (!window.pali) {
throw new Error('Pali UTXO provider is not available.');
}

Подключить EVM аккаунты

Popup подключения Pali dapp с запрашивающим сайтом и выбором аккаунта
Pali показывает запрашивающий сайт и аккаунт перед предоставлением dapp доступа.
const [address] = await window.ethereum.request({
method: 'eth_requestAccounts',
params: [],
});

Подключить UTXO аккаунты

const [address] = await window.pali.request({
method: 'sys_requestAccounts',
params: [],
});

Обработать отказ и несовпадение сети

Пользователи могут отклонять запросы на подключение. Pali также может отклонить метод, когда активная сеть относится к неправильному семейству цепей, например при вызове sys_requestAccounts, пока кошелек находится в EVM mode.

try {
await window.pali.request({ method: 'sys_requestAccounts', params: [] });
} catch (error) {
if (error.code === 4001) {
console.log('The user rejected the request.');
} else {
console.error('Pali request failed', error);
}
}

Загрузить локальную development build

Pali Wallet установлен и разблокирован в чистом профиле браузера
Используйте чистый тестовый профиль при записи flows установки и разблокировки.

Из репозитория кошелька:

yarn install
yarn dev:chrome

Затем откройте chrome://extensions, включите Developer Mode, выберите Load unpacked и укажите сгенерированную директорию build/chrome.