1) You're at the point in your career where what you learn is as important, if not more important, than what you make.
2) From what I've heard, the Dakotas are in a relative employment boom compared with the rest of the economy. You would be in the middle of that, and in a good position for other interesting opportunities that are sure to arise.
3) You should investigate the reputation of the company as an employer. Do they promote from within? Do they give raises?
4) You expected more salary, but is it more than you make now? Jumping from 46k to 55k is probably easier than jumping to it from where you are now.
5) Try to look at the long term picture. There will be a time when this job will literally disappear from your resume. Looking at the longer term view, is this the direction you want to head?
6) You say its a contract gig. Does it include benefits (medical, vacation, etc.)? Do they take out withholding? Contract gigs often turn into direct employment if your performance impresses them.
7) I like the way you organized and highlighted your question. You were careful not to exhibit the hideous spelling, capitalization, punctuation, and grammar that is SO TYPICAL of your generation. That all speaks well for you and puts you ahead.
8) Will they help with relocation expenses?
9) If you're working with a recruiter, direct contact with the employer would be out of line. But there is nothing wrong with negotiating with the recruiter. If you do, try to use hard data for comparisons, not personal references. Google "Beginning engineer salaries Fargo, ND?"