Как проверить контракт с несколькими аккаунтами / адресами в трюфеле? - PullRequest
0 голосов
/ 02 сентября 2018

Я хочу проверить свой трюфельный контракт с несколькими msg.sender адресами. Как и «токен продажи первого пользователя, второй токен покупает этот токен». Для одного адреса я просто пишу что-то вроде contract.buy.value(10 wei)();. Но где я мог получить другой адрес и как отправить с него деньги?

Я пишу свои тесты на прочность, а не на javascript.

1 Ответ

0 голосов
/ 17 сентября 2018

Как вы можете видеть в документах Truffle , вы можете указать две разные учетные записи для взаимодействия с вашим развернутым смарт-контрактом, как показано ниже (пример Metacoin):

var account_one = "0x1234..."; // an address
var account_two = "0xabcd..."; // another address

var meta;
MetaCoin.deployed().then(function(instance) {
meta = instance;
    return meta.sendCoin(account_two, 10, {from: account_one});
    }).then(function(result) {
    // If this callback is called, the transaction was successfully processed.
    alert("Transaction successful!")
}).catch(function(e) {
    // There was an error! Handle it.
})

Это о том, как вы можете использовать свой собственный созданный токен.

Если вы хотите передавать Ether между учетными записями, вы можете указать учетные записи в файле исполнения трюфеля (файл javascript). И эти учетные записи могут исходить из вашей настроенной локальной цепочки блоков (Ganache, если вы используете Truffle Suite для тестирования своего умного контракта, он предоставит вам несколько учетных записей, и вы сможете настроить их самостоятельно).

Кроме того, вам может понадобиться API JavaScript для указания отправителя и получателя: web3.eth.sendTransaction .

Впервые отвечу на вопрос, надеюсь, это поможет.

...