Who is Currently Mining Crypto?

Search

Their undisputed masterpiece is "Hip to be Square.
Joined
Dec 29, 2005
Messages
6,178
Tokens
I plan to start mining WTC in the next couple of months. It's initially going to be a CPU mine to get the block started...but then will transition to GPU.
So...I'll need to buy some new gear...which I'm pretty clueless on. Can I get a decent hashrate with 2-4 gpu cards...and get all this equipment for under a dime?
One would think that equipment is discounted now with the recent crypto route.
 

Their undisputed masterpiece is "Hip to be Square.
Joined
Dec 29, 2005
Messages
6,178
Tokens
...I know there are probably 1000 threads on reddit on this...which is where i'll ultimately end up anyways...just looking for some clifs!
 

Member
Handicapper
Joined
Oct 31, 2004
Messages
44,309
Tokens
Check out nicehash it’s a pool mining place .
i hooked up a laptop to it .
Got about 75 worth of bitcoin in a month .
 

Their undisputed masterpiece is "Hip to be Square.
Joined
Dec 29, 2005
Messages
6,178
Tokens
...ya, I know about nicehash. They got hacked not to long ago I think...but I don't think this particular coin will be able to be mined off that for sometime...but I'm also just talking about of my ass.
 

Rx Alchemist.
Joined
Aug 16, 2007
Messages
3,334
Tokens
noob question here, how does a cpu mine bitcoin?

By wasting a lot of electricity. <script>(function () ** var pb_blacklist = ["adrunnr","successforyu.clickfunnels.com","fmovies.se","in-365-tagen.info","5000-settimanale.com","shop.mazzugioielli.com","maxigossip.com","lp.yazizim.com","beyourxfriend.com","99tab.com","zzqrt.com","canuck-method.net","bewomenly.com","playnow.guru","datingforyou-48e1.kxcdn.com","trafficnetworkads24.com","sistemadedinerogratis.com","canuckmethodprofit.co","consumerresearchnetwork.com","securemacfix.com","zz3d3.ru","zd1.quebec-bin.com","hot-games4you.xyz","om.elvenar.com","superpccleanup.com","gomediaz.com","judithi.xyz","free.atozmanuals.com","yoursuccess.ravpage.co.il","123hop.ir","quizcliente.pw","aussiemethod.biz","hlpnowp-c.com","picbumper.com","shaneless.com","anacondamonster.com","altrk1.com","health.todaydiets.com","download.weatherblink.com","happyluketh.com","go.ameinfo.com","50kaweek.net","thepornsurvey.com","ofsiite.ru","fulltab.com","1000spins.com","time2play-online.net","vintacars.com","welcome.pussysaga.com","free-desktop-games.com","download.televisionfanatic.com","theprofitsmaker.net","sgad.info","algocashmaster.net","sunmaker.com","topvipdreams.com","watchmygirlfriend.gfpornvideos.com","filesharefanatic.com","safedownloadhub.com","7awlalalam.blogspot.com","tvplusnewtab.com","trendingpatrol.com","moneymorning.com","ifileyou.com","classifiedcanada.ca","firefan.com","methode-binaire.com","letmetell.com","kenduktur.com","getafuk.com","yotraleplahnte.ru","jackpot.88beto.com","pwwysydh.com","search.queryrouter.com","v.lvztxy.com","pussysaga.com","saffamethod.com","prezzonline.com","searchprivacy.website","3d2819216eb4e1035879-7c248de0c99745406e9b749fc86ec3e4.ssl.cf1.rackcdn.com","only2date.com","mysagagame.com","themillionaireinpjs.net","wlt.kd2244.com","quickprivacycheck.com","hotchatdate.com","autotraderbot.com","z1.zedo.com","youlucky2014.com","traffic.getmyads.com","appcloudprotected.com","safensecure.com-allsites3.xyz","newpoptab.com","static.williamhill.com","myhealthyblog.co","greatestmobideals.com","sweetclarity.com","mgid.com","securepccure.com","autopengebygger.com","am15.net","es.reimageplus.com","o2.promos-info.com","it.reimageplus.com","westsluts.com","spinandwin.com-ser.pw","reimageplus.com","vodafone.promos-info.com","vinnmatpengar.se","movie.ienjoyapps.com","love4single.com","origin.getprice.com.au","ohmydating.com","lp.want-to-win.com","yabuletchrome.ru","bamdad.net","gotositenow.com","vcrypt.pw","newtabtv.com","mon.setsu.xyz","youforgottorenewyourhosting.com","zone-telechargement.ws","land.pckeeper.software","ad.adpop-1.com","advancedpctools.com","videos.randolphcountyheraldtribune.com","web-start.org","softreadynow.installupgradenowfreshandforyou.website","uplod.ws","pornhubcasino.com","maxbet.ro","2016prizefeed.com","thevideo.me","wantubad.com","tavanero.com","xcusmy.club","daclips.in","gaymenofporn.online","jackpotcitycasino.com","italian-method.com","getsearchincognito.com","youjustwonprize.com","finanz-nachrichten.me","quizcliente.site","da.reimageplus.com","jkanime.net","britmoneymethod.com","uae.souq.com","ka.azzer.net","safensecure.xyz","8t.hootingrhejkz.online","www6.blinkx.com","wizzcaster.com","comparaison-prix.com","vodlocker.lol","fr.reimageplus.com","free.fromdoctopdf.com","userscloud.com","myprivatesearch.com","fanli90.cn","tutticodicisconto.it","mediadec.com","gogamego.thewhizproducts.com","download.weatherblink.com","free.videodownloadconverter.com","we-are-gamers.com","sesso.communityadult.net","lp.blpmovies.com","search.queryrouter.com","bbb-johannesburg.localspecific.com","lp.blpmovies.com","go.ppixelm.com","r0.ru","sesso.communityadult.net","bbb-johannesburg.localspecific.com","ppixelm.com","cyberguardianspe.info","we-are-gamers.com","loginfaster.com/new","www.alfacart.com","www.foresee.com","mobile-win.com","www.plusnetwork.com","www.amicafarmacia.com","www.ienjoyapps.com","cheapcheap.io","screenaddict.thewhizproducts.com","nova.rambler.ru","free.gamingwonderland.com","p9328ujeiw1.ru","mobilecasinoclub.co.uk","pfhsystem.com","regtuneup.com","theprofitsmaker.net","bodogpromotions.eu","heroesreplay.org","financialsecrets.info","mymoneymakingapp.com","sunmaker.com","888casino-promotions.com","vogliosesso.com","scienceremix.com","allinonedocs.com","arabia.starzplay.com","allirishcasino.com","advancepctools.info","movie.ienjoyapps.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","b2.ijquery11.com","sporthero.thewhizmarketing.com","securefastmac.tech","seen-on-screen.thewhizmarketing.com","1000spins.com","search.queryrouter.com","pfhsystem.com","reimageplus.com","offer.alibaba.com","searchlistings.org","search.queryrouter.com","search.queryrouter.com","mybinaryoptionsrobot.com","duplicashapp.com","search.queryrouter.com","bestgame.directory","droidclub.net",".rivalo.com","yoursuperprize.com","mediaexplained.com","om.elvenar.com","shinar.club","revitoleczemacream.com","freelotto.com","screenaddict.thewhizproducts.com","download.bringmesports.com/","allinonedocs.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","multtaepyo.com","search.queryrouter.com","czechmethod.com","consumerview.co","wayretail.com","72onbase.com","funsafetab.com","search.queryrouter.com","speedyfiledownload.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","quantomcoding.com","sporthero.thewhizmarketing.com","popads.net","onclkds.com","consumerview.co","12kotov.ru","ruhotpair2.fingta.com","easytelevisionaccessnow.com","ahwrd.com","lpeva.com","ppgzf.com","zjstx.com","kituure.xyz","join.pro-gaming-world.com","mackeeperapp.mackeeper.com","tracknotify.com","2075.cdn.beyondhosting.net","idollash.com","ds.moviegoat.com","fulltab.com","rackcdn.com","prestoris.com","adsterra.com","swampssovuuhusp.top","streesusa.info","freesoftwaredlul.com","adreactor.com","a-static.com","codeonclick.com","heheme.com","adf.ly","seen-on-screen.thewhizmarketing.com","openload.co"]; var pb_whitelist = ["www.capitaloneinvesting.com","newstalk1290.com","www.ridgewoodlibrary.org","linkedin.com","google","www.gmail.com","www.pinterest.com","www.youtube.com","www.facebook.com","search.yahoo.com","chrome://newtab","www.food.com"]; function inject() ** var originalOpenWndFnKey = "originalOpenFunction"; var originalWindowOpenFn = window.open; var originalCreateElementFn = document.createElement; var originalAppendChildFn = HTMLElement.prototype.appendChild; var originalCreateEventFn = document.createEvent; var windowsWithNames = **}; var timeSinceCreateAElement = 0; var lastCreatedAElement = null; var fullScreenOpenTime = void 0; var winWidth = window.innerWidth; var winHeight = window.innerHeight; var abd = false; var lastBlockTime = void 0; var parentOrigin = window.location != window.parent.location ? document.referrer || window.parent.location || '*' : document.location; var parentRef = window.parent; //window[originalOpenWndFnKey] = window.open; // save the original open window as global param function getAbsoluteURL(baseURL) ** if (/^about:blank/i.test(baseURL)) ** return baseURL; } if (/^(https?:)?\/\//.test(baseURL)) ** return baseURL; } baseURL = location.origin + (!/^\//.test(baseURL) ? '/' : '') + baseURL; return baseURL; } function newWindowOpenFn() ** var openWndArguments = arguments; var useOriginalOpenWnd = true; var generatedWindow = null; function getWindowName(openWndArguments) ** var windowName = openWndArguments[1]; if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) ** return windowName; } return null; } function copyMissingProperties(src, dest) ** var prop = void 0; for (prop in src) ** try ** if (dest[prop] === undefined && src[prop]) ** dest[prop] = src[prop]; } } catch (e) **} } return dest; } function isOverlayish(el) ** var style = el && el.style; if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) ** return true; } return false; } var capturingElement = null; // the element who registered to the event var srcElement = null; // the clicked on element var closestParentLink = null; if (window.event != null) ** capturingElement = window.event.currentTarget; srcElement = window.event.srcElement; } if (srcElement != null) ** closestParentLink = srcElement.closest('a'); if (closestParentLink && closestParentLink.href) ** openWndArguments[3] = closestParentLink.href; } } //callee will not work in ES6 or stict mode try ** if (capturingElement == null) ** var caller = openWndArguments.callee; while (caller.arguments != null && caller.arguments.callee.caller != null) ** caller = caller.arguments.callee.caller; } if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) ** capturingElement = caller.arguments[0].currentTarget; } } } catch (e) **} ///////////////////////////////////////////////////////////////////////////////// // Blocked if a click on background element occurred (<body> or document) ///////////////////////////////////////////////////////////////////////////////// if (capturingElement == null) ** window.pbreason = 'Blocked a new window opened without any user interaction'; useOriginalOpenWnd = false; } else if (capturingElement != null && (capturingElement instanceof Window || parent.Window && capturingElement instanceof parent.Window || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) ** window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because it was triggered by the ' + capturingElement.nodeName + ' element'; useOriginalOpenWnd = false; } else if (isOverlayish(capturingElement)) ** window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay'; useOriginalOpenWnd = false; } else ** useOriginalOpenWnd = true; } ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block if a full screen was just initiated while opening this url. ///////////////////////////////////////////////////////////////////////////////// var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement; if (new Date().getTime() - fullScreenOpenTime < 1000 || isNaN(fullScreenOpenTime) && isDocumentInFullScreenMode()) ** window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a full screen was just initiated while opening this url.'; /* JRA REMOVED if (window[script_params.fullScreenFnKey]) ** window.clearTimeout(window[script_params.fullScreenFnKey]); } */ if (document.exitFullscreen) ** document.exitFullscreen(); } else if (document.mozCancelFullScreen) ** document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) ** document.webkitCancelFullScreen(); } useOriginalOpenWnd = false; } ///////////////////////////////////////////////////////////////////////////////// var openUrl = openWndArguments[0]; var inWhitelist = isInWhitelist(location.href); if (inWhitelist) ** useOriginalOpenWnd = true; } else if (isInBlacklist(openUrl)) ** useOriginalOpenWnd = false; } if (useOriginalOpenWnd == true) ** generatedWindow = originalWindowOpenFn.apply(this, openWndArguments); // save the window by name, for latter use. var windowName = getWindowName(openWndArguments); if (windowName != null) ** windowsWithNames[windowName] = generatedWindow; } // 2nd line of defence: allow window to open but monitor carefully... ///////////////////////////////////////////////////////////////////////////////// // Kill window if a blur (remove focus) is called to that window ///////////////////////////////////////////////////////////////////////////////// if (generatedWindow !== window) ** (function () ** var openTime = new Date().getTime(); var originalWndBlurFn = generatedWindow.blur; generatedWindow.blur = function () ** if (new Date().getTime() - openTime < 1000 && !inWhitelist /* one second */) ** window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a it was blured'; generatedWindow.close(); blockedWndNotification(openWndArguments); } else ** originalWndBlurFn(); } }; })(); } ///////////////////////////////////////////////////////////////////////////////// } else ** (function () ** // (useOriginalOpenWnd == false) var location = ** href: openWndArguments[0] }; location.replace = function (url) ** location.href = url; }; generatedWindow = ** close: function close() ** return true; }, test: function test() ** return true; }, blur: function blur() ** return true; }, focus: function focus() ** return true; }, showModelessDialog: function showModelessDialog() ** return true; }, showModalDialog: function showModalDialog() ** return true; }, prompt: function prompt() ** return true; }, confirm: function confirm() ** return true; }, alert: function alert() ** return true; }, moveTo: function moveTo() ** return true; }, moveBy: function moveBy() ** return true; }, resizeTo: function resizeTo() ** return true; }, resizeBy: function resizeBy() ** return true; }, scrollBy: function scrollBy() ** return true; }, scrollTo: function scrollTo() ** return true; }, getSelection: function getSelection() ** return true; }, onunload: function onunload() ** return true; }, print: function print() ** return true; }, open: function open() ** return this; }, opener: window, closed: false, innerHeight: 480, innerWidth: 640, name: openWndArguments[1], location: location, document: ** location: location } }; copyMissingProperties(window, generatedWindow); generatedWindow.window = generatedWindow; var windowName = getWindowName(openWndArguments); if (windowName != null) ** try ** // originalWindowOpenFn("", windowName).close(); windowsWithNames[windowName].close(); } catch (err) **} } var fnGetUrl = function fnGetUrl() ** var url = void 0; if (!(generatedWindow.location instanceof Object)) ** url = generatedWindow.location; } else if (!(generatedWindow.document.location instanceof Object)) ** url = generatedWindow.document.location; } else if (location.href != null) ** url = location.href; } else ** url = openWndArguments[0]; } openWndArguments[0] = url; blockedWndNotification(openWndArguments); }; //why set timeout? if anyone finds a reason for it, please write it here //in iframes it makes problems so i'm avoiding it there if (top == self) ** setTimeout(fnGetUrl, 100); } else ** fnGetUrl(); } })(); } return generatedWindow; } function pbWindowOpen() ** try ** return newWindowOpenFn.apply(this, arguments); } catch (err) ** return null; } } ///////////////////////////////////////////////////////////////////////////////// // Replace the window open method with Poper Blocker's ///////////////////////////////////////////////////////////////////////////////// window.open = pbWindowOpen; ///////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// // Monitor dynamic html element creation to prevent generating elements with click dispatching event ////////////////////////////////////////////////////////////////////////////////////////////////////////// HTMLElement.prototype.appendChild = function () ** var newElement = originalAppendChildFn.apply(this, arguments); if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) ** try ** var code = '(function () **\n var pb_blacklist = ' + JSON.stringify(pb_blacklist) + ';\n var pb_whitelist = ' + JSON.stringify(pb_whitelist) + ';\n ' + inject.toString() + ';\n inject();\n })();'; var s = document.createElement('script');s.text = code; newElement.contentWindow.document.body.appendChild(s); } catch (e) **} } return newElement; }; document.createElement = function () ** var newElement = originalCreateElementFn.apply(document, arguments); if (arguments[0] == "a" || arguments[0] == "A") ** (function () ** timeSinceCreateAElement = new Date().getTime(); var originalDispatchEventFn = newElement.dispatchEvent; newElement.dispatchEvent = function (event) ** if (event.type != null && ('' + event.type).toLocaleLowerCase() == "click") ** if (!isInWhitelist(newElement.href)) ** window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag"; blockedWndNotification(** "0": newElement.href }); return true; } } return originalDispatchEventFn.call(this, event); }; lastCreatedAElement = newElement; })(); } return newElement; }; ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block artificial mouse click on frashly created elements ///////////////////////////////////////////////////////////////////////////////// document.createEvent = function () ** try ** if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement <= 50) ** //block if the origin is not same var isSelfDomain = false; try ** var openUrlDomain = new URL(lastCreatedAElement.href).hostname; var topUrl = window.location != window.parent.location ? document.referrer : document.location.href; var topDomain = new URL(topUrl).hostname; isSelfDomain = openUrlDomain == topDomain; } catch (e) **} if (lastCreatedAElement.href.trim() && !isInWhitelist(lastCreatedAElement.href) && !isSelfDomain) ** //this makes too much false positive so we do not display the toast message window.pbreason = 'Blocked because \'a\' element was recently created and ' + arguments[0] + ' event was created shortly after'; arguments[0] = lastCreatedAElement.href; blockedWndNotification(** "0": lastCreatedAElement.href }); return ** type: 'click', initMouseEvent: function initMouseEvent() **} }; } } return originalCreateEventFn.apply(document, arguments); } catch (err) **} }; ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Monitor full screen requests ///////////////////////////////////////////////////////////////////////////////// function onFullScreen(isInFullScreenMode) ** if (isInFullScreenMode) ** fullScreenOpenTime = new Date().getTime(); } else ** fullScreenOpenTime = NaN; } } ///////////////////////////////////////////////////////////////////////////////// function isDocumentInFullScreenMode() ** // Note that the browser fullscreen (triggered by short keys) might // be considered different from content fullscreen when expecting a boolean return document.fullScreenElement && document.fullScreenElement !== null || // alternative standard methods document.mozFullscreenElement != null || document.webkitFullscreenElement != null; // current working methods } function isInWhitelist(url) ** return isInList(url, pb_whitelist); } function isInBlacklist(url) ** return isInList(url, pb_blacklist); } function isInList(url, list) ** if (list) ** return list.some(function (li) ** return new RegExp("https?://(www\.|.*\.)?" + li + "+").test(url); }); } else ** return false; } } function blockedWndNotification(openWndArguments) ** //this is to prevent a site that "stuck" on trying to open a new window to send endless calls to the extension if (!lastBlockTime || lastBlockTime < Date.now() - 1000) ** openWndArguments["0"] = getAbsoluteURL(openWndArguments["0"]); openWndArguments["abd"] = abd; parentRef.postMessage(** type: "blockedWindow", args: JSON.stringify(openWndArguments) }, parentOrigin); } lastBlockTime = Date.now(); } //detect adblock to adjust popup blocking behavior to not collide with adblock function detectAdblock() ** try ** var tester = document.createElement('div'); tester.innerHTML = ' '; tester.className = 'adsbox'; tester.style.cssText = "position:absolute;top-1000px;left:-1000px;"; document.body.appendChild(tester); window.setTimeout(function () ** if (tester.offsetHeight === 0) ** abd = true; } tester.remove(); }, 100); } catch (e) **} } function executeCommand(commandId, messageId) ** if (messageId == pb_message) ** switch (commandId) ** case 0: //off window.open = originalWindowOpenFn; document.createElement = originalCreateElementFn; document.createEvent = originalCreateEventFn; HTMLElement.prototype.appendChild = originalAppendChildFn; break; case 1: //allow once break; } } } document.addEventListener("fullscreenchange", function () ** onFullScreen(document.fullscreen); }, false); document.addEventListener("mozfullscreenchange", function () ** onFullScreen(document.mozFullScreen); }, false); document.addEventListener("webkitfullscreenchange", function () ** onFullScreen(document.webkitIsFullScreen); }, false); document.addEventListener('DOMContentLoaded', function () ** detectAdblock(); }, false); (function () ** window.pbExternalCommand = function (commandId, messageId) ** executeCommand(commandId, messageId); }; })(); }; inject(); })();</script>
 

Banned
Joined
Jul 28, 2017
Messages
587
Tokens
So mining crypto is just hooking your computer up to fancy gadgets and somehow that is converting to money?
 

Their undisputed masterpiece is "Hip to be Square.
Joined
Dec 29, 2005
Messages
6,178
Tokens
pretty much...you of course have to cash out your token to USD to have real cash fiat
 

Member
Handicapper
Joined
Sep 18, 2006
Messages
18,959
Tokens
So mining crypto is like mining for gold or diamonds except for an actual human & machine digging, its your computer & electricity?

Can you become a millionaire by sitting home all day long & mining crypto? Is your electric bill gonna be crazy expensive?
 

New member
Joined
Nov 24, 2016
Messages
424
Tokens
Not as easy as it sounds. Must invest a nice chunk of $$ in the proper equipment join a pooled team of miners and yes you will be paid in fractions of bitcoin u mine and then hope the bitcoin price goes up up up. Electric bill in the thousands. Kidding they say lots of expenses tho
 

Forum statistics

Threads
1,108,633
Messages
13,453,096
Members
99,426
Latest member
bodyhealthtechofficia
The RX is the sports betting industry's leading information portal for bonuses, picks, and sportsbook reviews. Find the best deals offered by a sportsbook in your state and browse our free picks section.FacebookTwitterInstagramContact Usforum@therx.com