We look at the origins of the Ethereum platform and the reasons why investors believe its future is promising.
Watch: Should you invest in ethereum?
! ( function ( r, u, m, b, l, e ) {
( r._Rumble = b ),
r[ b ] ||
( r[ b ] = function () {
( r[ b ]._ = r[ b ]._ || [] ).push( arguments );
if ( r[ b ]._.length == 1 ) {
( l = u.createElement( m ) ),
( e = u.getElementsByTagName( m )[ 0 ] ),
( l.async = 1 ),
( l.src=”https://rumble.com/embedJS/ulkdw1″ +
/* replace [PUBID] */ ( arguments[ 1 ].video
? ‘.’ + arguments[ 1 ].video
: ” ) +
‘/?url=” +
encodeURIComponent( location.href ) +
“&args=” +
encodeURIComponent(
JSON.stringify( [].slice.apply( arguments ) )
) ),
e.parentNode.insertBefore( l, e );
}
} );
} )( window, document, “script’, ‘Rumble’ );
/* In this function you return the URL to the ad. The ‘ad’ variable will be the ad requested, which in this example can be ‘preroll_1’, ‘preroll_2’, etc.
* This function gets called in bursts, with all the waterfall IDs of a given ad in succession
* It will be called again with the next ad unit 5 seconds after the first waterfall ad is needed by the player in the current ad
*/
function request_ad( ad, callback ) {
// console.log( ‘prepare ad ‘ + ad );
/* when ad is ready you use the callback function with the vast tag URL */
callback( ad );
}
( function () {
/* configuration section */
var DEBUG = true;
var video_id = ‘v162wnv’
? ‘v162wnv’
: ”;
var player_id = ‘v162wnv’ ? ‘videoplayer-‘ + ‘v162wnv’ : ”;
var ad_timeout = 1500; /* number of ms the player will wait for an ad, not the same as prebid timeout */
var player_div = document.getElementById( player_id );
var autoplay_control=”2″;
var mute_control=””;
var setup_ads = function () {
/* set up ad points for each new video, you can change this based on your needs, this is just an example */
/* in the array of ads you can provide a URL or an ID to signify which ad we need */
insert_ad( 0, [
‘https://pubads.g.doubleclick.net/gampad/ads?iu=/57452754/Rumble_Video&description_url=http%3A%2F%2Fmoneysense.ca&tfcd=0&npa=0&sz=400×300%7C640x480&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=”,
] );
// insert_ad( “25%’, [ ‘midroll_25_1’ ] );
// if ( player_div.clientWidth > 600 ) {
// insert_ad( ‘50%’, [ ‘midroll_50_big_1’, ‘midroll_50_big_2’ ] );
// } else {
// insert_ad( ‘50%’, [ ‘midroll_50_1’ ] );
// }
};
/* Do not change below: code implementing prebid support, you should not have to change what is below */
var api;
var ads_queue = []; /* all ads defined, we will request next set of ads as the previous one is done */
var ready_ads = {}; /* as ads become ready, we will populate this for the player to use */
var prepare_on;
var loaded_new_video = function () {
if ( DEBUG )
// console.log( ‘Setting up ad cuepoints’ );
ready_ads = {};
ads_queue = [];
api.clearAds();
setup_ads();
prepare_next_ads();
};
var insert_ad = function ( timecode, waterfall ) {
// if ( DEBUG )
// console.log(
// ‘insert_ad timecode: ‘ +
// timecode +
// ‘ , waterfall: ‘ +
// waterfall.length +
// ‘ ads’
// );
ads_queue.push( waterfall );
api.insertAd( timecode, waterfall );
};
var ads_request = function ( ad ) {
var id = ad.url;
var timeout;
// if ( DEBUG ) console.log( ‘player is ready for: ‘ + id );
if ( prepare_on && prepare_on == id ) {
prepare_on = false;
setTimeout( function () {
prepare_next_ads();
}, 5000 );
}
if ( typeof ready_ads[ id ] == ‘string’ ) {
/* ad is ready, let the player use it */
return ready_ads[ id ];
}
ready_ads[ id ] = function ( url ) {
if ( timeout ) {
clearTimeout( timeout );
timeout = 0;
}
ad.callback( url );
ready_ads[ id ] = true;
};
timeout = setTimeout( function () {
// if ( DEBUG ) console.log( ‘Ad : ‘ + id + ‘ has timed out’ );
ready_ads[ id ] = true;
ad.callback( false );
}, ad_timeout );
/* ask the player to wait */
return true;
};
var prepare_next_ads = function () {
if ( ads_queue.length == 0 ) return;
var next_ads = ads_queue.shift();
// if ( DEBUG ) console.log( ‘Preparing next ad’ );
/* we will prepare next set of ads based on this ad gets requested by the player */
prepare_on = next_ads[ 0 ];
/* go through the waterfall asking for ads */
for ( i = 0; i < next_ads.length; i++ ) {
simple_request_ad( next_ads[ i ] );
}
};
var simple_request_ad = function ( id ) {
request_ad( id, function ( url ) {
ad_ready( id, url );
} );
};
var ad_ready = function ( id, url ) {
if ( typeof ready_ads[ id ] == 'function' ) {
/* looks like the player is already waiting for an ad */
ready_ads[ id ]( url.md );
} else if ( ready_ads[ id ] ) {
/* already an ad defined with that id, or the player timed out on it */
return;
}
/* have it ready for the player when its needed */
ready_ads[ id ] = url;
};
// Not load anything if video id is not entered.
if ( ! video_id ) {
console.log('Please set rumble video id!');
return false;
}
/* You can configure the player as you see fit, just leave the player_id and api lines intact */
if ( autoplay_control ) {
Rumble( 'play', {
video: video_id,
div: player_id,
autoplay: '2',
api: function ( api_object ) {
/* the following 4 lines are required and should not be changed */
api = api_object;
if ( ! mute_control ) {
api.mute();
} else {
api.unmute();
}
api.on( 'loadVideo', loaded_new_video );
api.on( 'adRequest', ads_request );
loaded_new_video();
},
} );
} else {
Rumble( 'play', {
video: video_id,
div: player_id,
api: function ( api_object ) {
/* the following 4 lines are required and should not be changed */
api = api_object;
if ( ! mute_control ) {
api.mute();
} else {
api.unmute();
}
api.on( 'loadVideo', loaded_new_video );
api.on( 'adRequest', ads_request );
loaded_new_video();
},
} );
}
} )();
Follow us on YouTube to catch all of the videos in this series.
Read more on crypto:
- Watch: 10 cryptocurrencies you need to know about
- How to buy Solana (SOL) in Canada
- What is crypto staking?
- Should you mine cryptocurrency?
What does the * mean?
If a link has an asterisk (*) at the end of it, that means it’s an affiliate link and can sometimes result in a payment to MoneySense (owned by Ratehub Inc.) which helps our website stay free to our users. It’s important to note that our editorial content will never be impacted by these links. We are committed to looking at all available products in the market, and where a product ranks in our article or whether or not it’s included in the first place is never driven by compensation. For more details read our
MoneySense Monetization policy.
The post Watch: Should you invest in ethereum? appeared first on MoneySense.