-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnftoken.js
30 lines (22 loc) · 995 Bytes
/
nftoken.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
module.exports = async function (callback) {
try {
let accounts = await web3.eth.getAccounts();
let NFToken = artifacts.require("NFToken");
let instance = await NFToken.deployed();
let result = await instance.mintTo(accounts[0], {from:accounts[0]});
let tokenId = result.logs[0].args.tokenId;
console.log('mint token id: ', tokenId.toString());
let owner = await instance.ownerOf(tokenId);
console.log('owner: ', owner);
await instance.safeTransferFrom(owner, accounts[1], tokenId);
owner = await instance.ownerOf(tokenId);
console.log('after transferring, owner: ', owner);
await instance.approve(accounts[2], tokenId, {from: accounts[1]});
await instance.safeTransferFrom(accounts[1], accounts[0], tokenId, {from:accounts[2]});
owner = await instance.ownerOf(tokenId);
console.log('after approving and transferring, owner: ', owner);
callback()
} catch (e) {
callback(e);
}
};