- Create your bot with botfather
- Make you bot an admin of your channel
- Go to https://web.telegram.org
- Click on your channel
- Look at the URL and find the part that looks like
c12112121212_17878787878787878 - Remove the underscore and after
c12112121212
c12112121212_17878787878787878c12112121212| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| /** | |
| * @title Ballot | |
| * @dev Implements voting process along with vote delegation | |
| */ | |
| contract TimedBallot { | |
| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.10; | |
| contract HelloWorld { | |
| // a variable to store a number | |
| uint public number; | |
| // function to store an unsigned integer | |
| function storeNumber(uint _number) public { | |
| number = _number; |
I've been using [Backblaze][bbz] for a while now as my online backup service. I have used a few others in the past. None were particularly satisfactory until Backblaze came along.
It was - still is - keenly priced at a flat $5 (£4) per month for unlimited backup (I've currently got just under half a terabyte backed-up). It has a fast, reliable client. The company itself is [transparent about their operations][trans] and [generous with their knowledge sharing][blog]. To me, this says they understand their customers well. I've never had reliability problems and everything about the outfit exudes a sense of simple, quick, solid quality. The service has even saved the day on a couple of occasions where I've lost files.
Safe to say, I'm a happy customer. If you're not already using Backblaze, [I highly recommend you do][recommend].
| // This is universal, works with Infura -- set provider accordingly | |
| const ethers = require('ethers') | |
| //const provider = ethers.getDefaultProvider('rinkeby') | |
| const provider = new ethers.providers.JsonRpcProvider(process.env.WEB3_URL) | |
| function hex_to_ascii(str1) { | |
| var hex = str1.toString(); | |
| var str = ''; | |
| for (var n = 0; n < hex.length; n += 2) { |
| // SPDX-License-Identifier: AGPL-3.0-or-later | |
| // The ABI encoder is necessary, but older Solidity versions should work | |
| pragma solidity ^0.7.0; | |
| pragma experimental ABIEncoderV2; | |
| // These definitions are taken from across multiple dydx contracts, and are | |
| // limited to just the bare minimum necessary to make flash loans work. | |
| library Types { | |
| enum AssetDenomination { Wei, Par } |
| // SPDX-License-Identifier: MIT | |
| // Copyright (c) 2020 petejkim | |
| pragma solidity 0.6.12; | |
| import { Ownable } from "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol"; | |
| import { IERC20 } from "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/token/ERC20/IERC20.sol"; | |
| import { SafeERC20 } from "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/token/ERC20/SafeERC20.sol"; | |
| contract USDCFaucet is Ownable { |
| # 0 is too far from ` ;) | |
| set -g base-index 1 | |
| # Automatically set window title | |
| set-window-option -g automatic-rename on | |
| set-option -g set-titles on | |
| #set -g default-terminal screen-256color | |
| set -g status-keys vi | |
| set -g history-limit 10000 |
This code sample contains an implementation of Integrating Remote Attestation with Transport Layer Security.
To use this code sample, one needs to register at Intel website for dev IAS service access. Once the registration is finished, the following stuff should be ready:
| pragma solidity 0.4.24; | |
| import "https://github.com/smartcontractkit/chainlink/evm-contracts/src/v0.4/ChainlinkClient.sol"; | |
| import "https://github.com/smartcontractkit/chainlink/evm-contracts/src/v0.4/vendor/Ownable.sol"; | |
| contract ATestnetConsumer is ChainlinkClient, Ownable { | |
| uint256 constant private ORACLE_PAYMENT = 1 * LINK; | |
| uint256 public currentPrice; | |
| int256 public changeDay; |