Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pragma solidity ^0.4.17;
- contract Lottery {
- address public manager;
- address[] public players;
- function Lottery() public {
- manager = msg.sender;
- }
- function enter() public payable {
- require(msg.value > .01 ether);
- players.push(msg.sender);
- }
- function random() private view returns (uint) {
- return uint(keccak256(block.difficulty, now, players));
- }
- function pickWinner() public restricted {
- uint index = random() % players.length;
- players[index].transfer(this.balance);
- players = new address[](0);
- }
- modifier restricted() {
- require(msg.sender == manager);
- _;
- }
- function getPlayers() public view returns (address[]) {
- return players;
- }
- }
- const path = require('path');
- const fs = require('fs');
- const solc = require('solc');
- const lotteryPath = path.resolve(__dirname, 'contracts', 'Lottery.sol');
- const source = fs.readFileSync(lotteryPath, 'utf8');
- module.exports = solc.compile(source, 1).contracts[':Lottery'];
- const path = require('path');
- const fs = require('fs');
- const solc = require('solc');
- const lotteryPath = path.resolve(__dirname, 'contracts', 'Lottery.sol');
- const source = fs.readFileSync(lotteryPath, 'utf8');
- module.exports = solc.compile(source, 1).contracts[':Lottery'];
- const HDWalletProvider = require('truffle-hdwallet-provider');
- const Web3 = require('web3');
- const { interface, bytecode } = require('./compile');
- const provider = new HDWalletProvider(
- 'joy nuclear cause beauty strike quick priority upset hello strategy manual shadow',
- 'rinkeby.infura.io/v3/979787f2e36741368aee9a3d1b73b438'
- );
- const web3 = new Web3(provider);
- const deploy = async () => {
- const accounts = await web3.eth.getAccounts();
- console.log('Attempting to deploy from account', accounts[0]);
- const result = await new web3.eth.Contract(JSON.parse(interface))
- .deploy({ data: bytecode })
- .send({ gas: '1000000', from: accounts[0] });
- console.log('Contract deployed to', result.options.address);
- };
- deploy();
- {
- "name": "set",
- "version": "1.0.0",
- "description": "",
- "main": "index.js",
- "scripts": {
- "test": "mocha"
- },
- "author": "",
- "license": "ISC",
- "dependencies": {
- "ganache-cli": "^6.4.3",
- "mocha": "^6.1.4",
- "solc": "^0.4.17",
- "truffle-hdwallet-provider": "^1.0.9",
- "web3": "^1.0.0-beta.37"
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement